
android基本内容
qqq2830
这个作者很懒,什么都没留下…
展开
-
px,dp,sp
看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一 样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密转载 2016-03-22 09:43:48 · 369 阅读 · 0 评论 -
Dagger2全面解析
Dagger2的好处 相关标签 标签使用方式 注入方式 不同类的关系 编译后的生成文件与原文件及关系图 注入路径 Scope用于划分作用域 各标签的意义 Singleton的单例模式是如何起作用的我只是个栗子 Qualifier的巧用指哪打哪 Dagger2的好处 依赖的注入和配置独立于组件之外。 因为对象是在一个独立、不耦合的地方初始化,所以当注入抽象方法的时候,我们只需要修改对象的实现方法,而不原创 2017-08-18 16:29:09 · 414 阅读 · 0 评论 -
来看看compileSdkVersion, minSdkVersion, targetSdkVersion这三兄弟
选择你自己的 compileSdkVersion, minSdkVersion, and targetSdkVersion当你将一个App发布出去之后,也许马上Google又发布了一个新的Android版本。那这是否就意味着你发布的App会出现一些版本上的问题。当然这并不会困扰我们,因为Android是向前兼容的—向前兼容即旧版本能够适应新版本的应用—对Android而言就是在旧版上开发的应用当我们原创 2016-11-30 16:25:41 · 462 阅读 · 0 评论 -
Android gradle: buildtoolsVersion vs compileSdkVersion
首先来一段从stackoverflow上看到的英文解释 compileSdkVersion is the API version of Android that you compile against.buildToolsVersion is the version of the compilers (aapt, dx, renderscript compiler, etc…) that you原创 2016-11-30 11:14:26 · 845 阅读 · 0 评论 -
android调用高版本api函数的兼容性问题
有时候代码中调用的一些api函数对api版本有要求,比如ListView的smoothScrollToPosition函数,该函数要求android api版本在8或者以上才可以使用,即要求用户的手机必须是android2.2及其以上的才行。有些同学可能会这么做 [java] view plaincopy try { final int mVer转载 2016-11-16 22:56:27 · 589 阅读 · 0 评论 -
Android程序Crash时的异常上报
转载请注明来源:http://blog.youkuaiyun.com/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况。当crash发生时,系统会kill掉你的转载 2016-11-16 22:53:44 · 332 阅读 · 0 评论 -
Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/23387079 (来自singwhatiwanna的csdn博客) 前言 为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问转载 2016-11-12 19:10:05 · 364 阅读 · 0 评论 -
Android apk动态加载机制的研究
转载请注明出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/22597587 (来自singwhatiwanna的csdn博客) 背景 问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,转载 2016-11-12 19:08:01 · 353 阅读 · 0 评论 -
深入理解Android消息处理系统——Looper、Handler、Thread
Message:消息,其中包含了消息ID,消息处理对象以及处理的数据等,由MessageQueue统一列队,终由Handler处理。 Handler:处理者,负责Message的发送及处理。使用Handler时,需要实现handleMessage(Message msg)方法来对特定的Message进行处理,例如更新UI等。 MessageQueue:消息队列,用来存放Handle原创 2016-11-12 19:01:20 · 323 阅读 · 0 评论 -
android art和Dalvik的比较
Dalvik和art的比较 Art4.4才有,源于google收购的Flexycore公司。 Dalvik模式像是一台折叠自行车,每次骑之前都要组装后才能上路。而ART模式就是一个已经装好的自行车,直接就能上车走人。所以ART模式在效率上肯定是要好于Dalvik。 通过以上这种表格,我们可以直白的看出,全新的ART模式具备用RAM内存小、流畅度更好以及更省电的特性。原创 2016-11-12 17:07:26 · 358 阅读 · 0 评论 -
binder学习
C++层 我们开发时所见到的Binder是Android系统提供给我们的java接口,java层的Binder对象只是Android对底层Binder的一个封装,提供给上层开发人员使用,真正的Binder其实隐藏在系统底层,默默的替我们进行着跨进程通信。 Java层的服务端Binder对象在C++层对应的对象为BBinder,而客户端拿到的BinderProxy对象对应的则为BpBinder,原创 2016-11-12 16:56:02 · 382 阅读 · 0 评论 -
service详解
1、Service的种类 按运行地点分类: 类别 区别 优点 缺点 应用 本地服务(Local) 该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bindService会方便很多。 主进程被Kill后,服务便会终止。 非常常转载 2016-11-12 16:42:40 · 523 阅读 · 0 评论 -
activity的生命周期
1).按back退出activity 此时会走onPause()->onStop()->onDestroy()方法: 2).在一个Activity中启动另一个Activity 从MainActivity中启动SecondActivity我们可以很清楚的看到MainActivity中的onPause方法执行完了以后然后新的SecondActivity的o原创 2016-11-12 16:40:27 · 272 阅读 · 0 评论 -
Android中当item数量超过一定大小RecyclerView高度固定
Android中当item数量超过一定大小时,将RecyclerView高度固定原创 2018-04-09 16:30:18 · 17741 阅读 · 8 评论