性能优化简介

198 阅读2分钟

性能优化


在这里插入图片描述

性能优化的重要性及方向

在这里插入图片描述

优化方法

在这里插入图片描述

性能优化的四个方向

在这里插入图片描述

流畅性优化方向

在这里插入图片描述

页面显示速度

  • 优化原因
    页面需要绘制的内容(布局 控件)太多,从而导致页面测量时间过长
    绘制效率过低,从而导致绘制时间过长

  • 优化方案

    • 布局层级优化
    • 异步加载xml
    • 离屏预渲染

启动速度优化

  • 优化原因
    初次打开应用时,大量初始化任务 or 需要加载很多资源

  • 优化方案

    • 异步并发初始化
    • 分步初始化,延时初始化的策略,减少启动应用时加载的任务,从而提高启动速度

响应速度

  • 优化原因
    在5s内未响应用户的输入事件(按键、触摸输入)、在10s内未处理完BroadcastReceiver接收到的事件、在20s内未处理完Service接收到的事件、多线程锁竞争。
    主线程阻塞、挂起、死循环、执行比较长的耗时操作、其他进程(子线程)对CPU占用时间过高,导致主进程(线程)抢不到CPU的时间片。
  • 优化方案
    当发送ANR的时候,ActivityManagerService 会把ANR信息写到LogCat日志中。主要通过ANRManager、ActivityManager等字段过滤出我们想要的信息
    线上阶段可以使用爱奇艺开源的xcrash
    在这里插入图片描述

内存优化

在这里插入图片描述
在这里插入图片描述

  • Memory Analyzer Tool(MAT)
    在这里插入图片描述

常见内存泄露原因

在这里插入图片描述

优化内存空间

在这里插入图片描述

稳定性优化

在这里插入图片描述

流量优化

在这里插入图片描述

安装包大小优化

在这里插入图片描述

减少安装包大小的常用方案

在这里插入图片描述

总结

在这里插入图片描述