一、内存优化方案
1、图片策略:
(1)信息流上在滑动速率低于500px/s才加载图片,快速滑动中不会加载图片;
(2)第三方Glide禁止内存缓存策略;
(3)低内存版本图片使用RGB_565的低清晰格式;
2、主动回收:
(1)回到桌面成为后台进程时,主动kill进程以及回收内存;
(2)信息流上内存告急时通知系统回收;
(3)反射调用android.view.WindowManagerGlobal.trimMemory()方法通知系统回收;
3、减少缓存
(1)布局尽量使用ViewStub;
(2)低版本在信息流上使用仅保留最近1个Tab缓存数据;
(3)RecyclerView、ViewPager控件使用最少的缓存个数。
二、掉帧优化方案
- 删除列表Item中不必要元素的隐藏形式存在,因为隐藏元素仍会参与绘制消耗性能,但用户不可见
- 针对列表Item中不常用元素采用按需延迟加载,否则以隐藏形式存在的元素占用创建ui时的性能
- 小视频联播页加条目缓存从0到2,通过消耗部门内存减少条目新建次数,减少性能开销
- 旧的业务初始化移除(主要是视频播放器的初始化)