首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Cloud_lys
掘友等级
Android
只写面试相关的东西
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
22
文章 22
沸点 0
赞
22
返回
|
搜索文章
最新
热门
Android 保活措施
1. 进程优先级 Android系统会尽可能的保持应用进程,但是当需要建立新的进程或者运行更重要的进程,便会回收优先级低一些的进程,这个就是lowmemorykiller的工作。而进程的优先级其实就是 /proc/pid/oom_adj 2. 回收策略 从Zygote fork…
Android 应用启动流程
上一篇Android系统启动,结尾讲到Launcher启动,当点击Laucher上的图标,就是调用了startActivity来启动各个应用的首页。所以从入口开始。 Launcher本质上还是个Activity,所以startActivity实现为Activity的。 首先Ac…
Android系统启动流程
当电源按下时,引导芯片代码从预定义的地方(固化在ROM)开始执行。加载引导程序Boot Loader到RAM中,然后执行。 Boot Loader 是在Android操作系统运行前的一段小程序。目的就是把OS拉起来运行 当内核启动时,设置缓存、被保护储存器、计划列表、加载驱动。…
Glide 4 0 源码解析
1. Glide with glide with 是用于glide初始化。 反射获取 GeneratedAppGlideModuleImpl 实例,此类为设置扩展配置 @GlideModule 时自动生成的类 。4.0提高glide初始化速度,可以禁用清单解析,覆盖 AppGl…
SparseArray 解析
判断是否被删除,直接通过数组返回值。 由于key值只能是int,减少了自动装箱的消耗。 标记 DELETED ,再重新对数组进行赋值,没有经历数组拷贝。 没有数组的容量减少操作,数组只能进行扩容操作。 所以在数据量少,且key值为int时,SparseArray的内存消耗更少。…
ArrayMap 解析
二分法查找是否有相同key的数据,如果有则直接覆盖。 在put时,先会去进行一次Array的分配(allocArrays),但是在第一次的时候,并没有可用的cache,此时会创建新的数组 hash 与 array。如果有可用的 cache,会将 cache中的 自己(array…
Java基础知识(引用,单例)
2、请用Java实现一个线程安全且高效的单例模式。 3、为什么Java内部类要设计成静态和非静态两种。 根据Oracle官方的说法:Nested classes are divided into two categories: static and non-static. Ne…
序列化
通过writeToParcel将你的对象映射成Parcel对象,再通过createFromParcel将Parcel对象映射成你的对象。也可以将Parcel看成是一个流,通过writeToParcel把对象写到流里面,在通过createFromParcel从流里读取对象,只不过…
Gradle实践
2、实践如下问题。 问题:我们都知道,Android中时常需要发布渠道包,需要将渠道信息附加到apk中,然后在程序启动的时候读取渠道信息。仍然拿VirtualAPK来举例, 链接:GitHub - didi/VirtualAPK: A powerful and lightwei…
View获取宽高的方法与细节
1. View的getWidth()和getMeasuredWidth()有什么区别吗? getWidth是获取控件真实的宽度,在view.onlayout之后才能获取到。 getMeasuredWidth()是获取的计算宽度,在view.onmeasure之后获取。 会受到m…
下一页
个人成就
文章被点赞
87
文章被阅读
35,871
掘力值
819
关注了
3
关注者
32
收藏集
1
关注标签
1
加入于
2019-05-15