FAQ 问:Retrofit流程? 答:(1)Retrofit.Builder填充初始化参数--->(2) builder.build() 创建callbackExecuto...
FAQ 问:Retrofit流程? 答:(1)Retrofit.Builder填充初始化参数--->(2) builder.build() 创建callbackExecuto...
1、问:简述AMS的作用,它是什么时候初始化的? 答:AMS 主要负责四大组价的启动、切换、调度以及应用进程的管理和调度等工作;是在SystemServer进程创建开启时,就...
一、APP启动流程 涉及到四个进程的通信,分别是launcher进程、AMS所在的SystemServer进程、Zygote进程、用户app进程 概览步骤: 1、launch...
1、类在什么时候被加载,初始化 触发类加载的条件: JVM没有规定类加载的时机,但是却严格规定了五种情况下必须对类进行初始化,初始化在类加载之后,所以也可以作为类加载时机 (...
一、Android 系统启动流程 (1)启动电源以及系统启动 电源按下时引导芯片代码从预定义的地方(固化在ROM)开始执行,加载引导程序到BootLoader到RAM中,然后...
fragmentManager 进行事务提交时,transaction有四种commit方法可供调用,分别是:commit() 、 commitAllowingStateL...
HashMap底层为什么是2倍扩容? 第一是因为哈希函数的问题 通过除留余数法方式获取桶号,因为Hash表的大小始终为2的n次幂,因此可以将取模转为位运算操作,提高效率,容量...
通常,加载因子需要在时间和空间成本上寻求一种折衷。加载因子过高,例如为1,虽然减少了空间开销,提高了空间利用率,但同时也增加了查询时间成本;加载因子过低,例如0.5,虽然可以...
在我们的应用中,少不了一些H5页面,相应的就会有很多与原生的交互,今天遇到一个坑,就是在我的桥接类中JSInterface的方法中,我偶然发现,含有@JavascriptIn...
leakCanary是用来检测内存泄漏的重要工具,下面是它的主要原理: 弱引用:当垃圾回收时,无论内存是否充足,都会将弱引用包装的对象回收。 当jvm进行垃圾回收时,无论内存...
(1)当存储键值对的键为int类型,并且数据量不大(千级以内)的情况下,使用是SparseArray来代替HashMap,存取效率更高。 (2)Handler的优化: 非静态...
Glide四级缓存: 先找内存,再找文件 1)活动缓存(活动资源):ActiveResource,里边使用一个弱引用weakHashMap来保存正在使用的图片,当我们加载图片...
ListView与RecyclerView的区别: ListView使用两级缓存:1、mActiveViews用于屏幕内itemView的快速重用。2、mScrapViews...
从Linux内核系统到init进程的分裂,以及后面会启动一个叫Zygote的进程开始,而Zygote会分裂出系统的核心服务进程SystemServer,也就是SystemSe...
Fragment的生命周期函数流程如下: onAttach()---->onCreate---->onCreateView----->onActivityCreated---...
Android 动画类型主要分为三种:帧动画、补间动画、属性动画 帧动画:原理是多张图片在一段时间的不断替换,给人一种视觉上的动画效果。 补间动画(Animation):给人...