采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
1.不太理解异步类加载是怎么提高启动时间的呢,它基于什么原理,app启动的时候不是只把要显示的类加载到内存吗? 2.GC机制为什么会对app启动有影响呢,是因为占用CPU资源吗,抑制GC具体是怎么实现呢?
同学你好。
异步类的加载是说将启动阶段所需要的类提前加载出来,这样使用到的时候就不需要经过类加载的过程了。
做法是在线下 hook classloader 获得类加载的顺序,然后倒序排列,在线上启动App的时候按照倒序的这个顺序触发类的加载
GC 对启动的影响主要是GC 并不是一个简单的轻量的行为而是有代价的,尤其对于 Dalvik虚拟机来说 GC 的影响会更大,还有可能会暂停线程运行。具体的实现可以参考下这篇文章:https://juejin.im/post/5be1077d518825171140dbfa#heading-8 不过不建议大家多加研究,这个方案投入产出比比较低,一方面稳定性问题再者目前的机型 5.0 一下的占比也不高了。
非常感谢!
老师您好,异步预加载类有具体的实现文档嘛?另外问下,如果启动页和首页有ABtest,加载的类可能不一样,那我们本地如何获取预加载类的集合呢
登录后可查看更多问答,登录/注册
由表及里学到国内Top团队对性能问题的体系化解决方案
1.4k 38
1.2k 12
1.4k 9
1.2k 9
1.0k 9