Android冷启动优化的有向无环图启动器
应用介绍
作者NoEndToLF,源码AppStartFaster,这是一个Android冷启动优化,有向无环图启动器。
AppStartFaster:包含两部分,一部分是冷启动任务分发,一部分是Multdex冷启动优化
启动器 :本质所有任务就是一个有向无环图,通过Systrace确定wallTime和cpuTime,然后选择合适的线程池,这里的线程池有两种(cpu定容线程池,io缓存线程池)再构造任务之间的图关系(正确使用启动速度优化30%很容易)
Multdex :5.0以下开新进程Activity去加载dex,其实就是为了第一时间显示第一个Activity,属于伪优化,其实在加载dex过程中,Multdex先将dex压缩成了zip,然后又解压zip,而他是可以直接去加载dex的,这里多了一个压缩又解压的过程,所以其实真正的优化应该是避免先解压再压缩。
示例:Demo中模拟了5个启动任务,且他们的依赖关系为如下所示,每个任务都模拟耗时300ms
运行结果:拿Android Studio的模拟器试的,日志输出在Android Studio的Error中,如下所示(这个结果的场景是只有主线程的任务是阻塞的,其他任务不阻塞。如需要要保证某个任务阻塞,下文会介绍用法)

©软件著作权归作者所有。本站所有内容均来源于网络,不得违法使用,仅供学习使用,请支持正版!
转载请注明出处: 662P » Android冷启动优化的有向无环图启动器
发表评论 取消回复