美文网首页Android精选
冷启动优化笔记

冷启动优化笔记

作者: 杨华_6f65 | 来源:发表于2019-06-11 18:11 被阅读4次

1.首先需要衡量冷启动时间的指标,才能看到优化的效果。

可以在Application的构造函数,或者 attachBaseContext,写一个Trace.begin(Tag),然后在第一个Activity的onWindowFocusChanged 加入一个Trace.end消息,然后就可以用systrace方便的看到启动的耗时,当然你也可以用自己打log算时间的方式来完成。

2.如何优化

1.使用工具

可以用systrace + 函数插桩,就是上面提到的Trace,
它还可以看到系统的一些关键事件,例如 GC、System Server、CPU 调度等。通过插桩,我们可以看到应用主线程和其他线程的函数调用流程,还可以辅助用Traceview (Profiler),看函数耗时,就是这个工具本身太过于耗损性能。
运用工具来找到耗时的操作 、性能瓶颈,进行有针对性的优化,这样效果会更加显著一些。

2.优化工作

1.闪屏页面的windowbackground可以设置成启动图,防止黑白屏出现,秒开app。
2.业务梳理优化
启动过程中,哪些是必须的、哪些是可以懒加载的,哪些是可以异步的,都需要一个一个梳理,一些第三方框架,初始化会有线程池、反射、反序列化等操作的是会影响主线程的加载的,可以放在工作线程中异步来加载这些,然后降低工作线程的优先级,保证主线程的优先执行。
3.I/O 优化
启动过程读了什么文件、多少个字节、Buffer 是多大、使用了多长时间、在什么线程等一系列信息,比如:SharedPreference 会读入内存,
4.类重排、资源文件重排
Dex 文件用的到的类和安装包 APK 里面各种资源文件一般都比较小,但是读取非常频繁。我们可以利用系统这个机制将它们按照读取顺序重新排列,减少真实的磁盘 I/O 次数。
Facebook :“资源热图”相对比较完善,也建设了一些配套的Dashboard 工具,希望后续可以开源出来。支付宝:https://mp.weixin.qq.com/s/79tAFx6zi3JRG-ewoapIVQ

相关文章

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 如何实现 iOS App 的冷启动优化

    如何实现 iOS App 的冷启动优化如何实现 iOS App 的冷启动优化

  • 冷启动优化笔记

    1.首先需要衡量冷启动时间的指标,才能看到优化的效果。 可以在Application的构造函数,或者 attach...

  • 性能优化 - 启动时间

    应用的启动分为:冷启动,暖启动和热启动。其中冷启动是我们优化的重点,优化冷启动可能会同时优化暖启动和热启动。 冷启...

  • APP性能优化

    一、APP启动性能优化。 APP启动主要分冷启动和热启动,主要优化冷启动。 1.尽量减少didFinishLauc...

  • 冷启动和热启动

    一,什么是冷启动和热启动 二,冷启动流程 三,怎么对冷启动进行优化 一,什么是冷启动和热启动 定义:冷启动就是启动...

  • 启动优化的原理以及操作

    首先我们要知道,启动是分为冷启动和热启动的。启动优化主要就是优化冷启动的时间。冷启动又可以分为两个部分:pre_m...

  • 性能优化

    一、启动优化 Activity启动形式分为三种类型:热启动、冷启动、温启动。重点在冷启动。 假优化:欺骗用户,去掉...

  • 冷启动优化

    App启动分为冷启动和热启动,我们说的启动优化一般是指冷启动优化。若要想优化,首先我们必须明确启动过程。 启动过程...

  • 性能优化 -- 启动优化

    启动优化 app启动分为:冷启动;热启动,温启动三种冷启动: 耗时最多流程:冷启动经过的流程点击app --> ...

网友评论

    本文标题:冷启动优化笔记

    本文链接:https://www.haomeiwen.com/subject/pnuffctx.html