前言
随着APP开发的业务进展到一定的程度,无论是App安装包的体积也好,运行内存也好等方面都出现了极大的问题,安装包体积不断增大,运行内存过大容易导致OOM,这些问题都亟需解决,也是进阶的必备之路。既然前期已经污染了,后期就一定要加紧治理,所以这几天也进行了一定的思考和整理。
分析
从App的角度先分析了几个方面的优化,当然只是初期的整理,如下:
一开始的设想是想对显而易见的内存泄漏和安装包进行优化,对于模块化和组件化,这个主要是需要大量的时间对项目代码结构进行调整和实践。 接下来先简单介绍安装包大小和内存。
安装包方法数
项目的安装包大小大概在26.5兆左右,方法数大概是180000,方法数的统计是通过Apk method count得来的。对于方法数过大造成的影响一方面是体积增大,另一方面是dex包增大,180000个方法分为5个dex包,dex包过大会影响载入代码的性能。减少方法数的举措主要有两个,一个是移除重复功能的库,如项目同时使用了Glide和Fresco,还有及时对未使用的库进行清理,第二是优化第三方的混淆规则,打包开启Proguard之后,会把无用的第三方库的方法移除。像我自己做的实践也是如此,移除了之前项目中的春节活动代码,还有对项目中使用的J