结论:加载时间从436ms-->96ms(优化率78%)
github: https://github.com/long8313002/ActivityOptimization
概述
本文主要是和大家探讨一下,极限减少页面加载耗时的可能性,在这里我们尽量追求方案的通用。而本文论述的方案,非互联网上的主流方案,独此一家,先到先得!
主流方案
本文不会花太多篇幅讨论这些主流方案,另外这些方案在百度也很容易可以找到,不过这些方案也都有一个共同的特点,它们不是很通用,需要针对具体的业务具体进行分析。我所知道的主流方案如下:
- 主线程避免耗时操作、建议异步化(异步化也会导致业务复杂度提高)
- 优化页面布局,减少多层嵌套、提高扁平度(难度大、收益低)
- 延迟加载不必要元素(大多数页面都没有懒加载条件)
- 避免过多的线程、推荐线程池
- 优化xml布局解析过程中反射创建View的耗时(略黑科技、通过复写onCreateView来实现手动创建View,减少了反射的耗时,实测效果微乎其微,现在反射已经很快了)