一.背景
最近测试人员对我们的产品进程内存占用测试,并和竞品的内存占用情况进行对比,得出的结论是我们的产品占用的内存比竞品多出不少,
所以需要对产品进行内存优化,我主要负责对商店进程的内存进行优化,以下是优化的过程和优化结果的总结。
二.优化
设备:Samsung Galaxy S4
Android version:5.0
主要在下面五个场景来对内存占用情况进行分析并优化
场景1:首次安装进入设置页
首次安装,并进入设置页,该场景下内存的占用主要有三个方面:商业化SDK、第三方库、本地业务功能。
对于商业SDK我们无法进行优化,但第三方库和本地业务代码可以进行优化。
看到Glide库占用了大概4M左右,在商店进程中使用Glide主要是用来展示gif,可使用sketch作为替代方案
*优化方法:商店进程不使用Glide
优化结果:4.5M -> 0M 优化4M*
在进入设置页面后,有部分功能已经不再使用,但还是进行不少的内存分配。
主设置页的礼盒广告界面占用内存:
主设置页积分墙界面占用内存:
*优化方法:删除代码
优化结果:1.5M -> 0M 优化1.5M*
场景2:从设置页进入主题商店
提示:进入主题商店后不进行任何操作,待内存稳定后dump出heap的内存情况
进入主题商店后的内容有:在顶部一个Banner轮播图(五张banner,但一次只显示一张)、六张主题