Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)
2019-02-25 10:40 阅读(363)

前言

文章较长,建议预留较长时间阅读 /  收藏


目录


示意图



1. 性能优化的目的

性能优化的目的是为了让应用程序App 更快、更稳定 & 更省。具体介绍如下:


2. 需优化的性能指标

针对上述目的,需优化的性能指标 含:流畅性、稳定性、资源节省性


3. 优化方向


示意图



4. 流畅性

4.1 启动速度

由于我们打开的页面大多是Activity,下面将给出加速启动Activity的方式


示意图


4.2 页面显示速度

  1. Android性能优化:手把手带你全面了解 绘制优化

  2. Android性能优化:布局优化 详细解析(含、、讲解 )

4.3 响应速度

关于ANR的简介如下


示意图


  1. 多线程的方式 包括:AsyncTask、继承 Thread类、实现 Runnable接口、Handler消息机制、HandlerThread

  2. 注:实际开发中,当一个进程发生了ANR后,系统会在 /data/anr目录下创建一个文件 traces.txt,通过分析该文件可定位出ANR的原因

4.4 其他优化方案

4.5 总结

下面,总结 关于流畅性的性能优化方案

示意图



5. 稳定性

这2个错误的结果将导致程序无法使用

5.1 应用无响应(ANR)


示意图


  1. 多线程的方式 包括:AsyncTask、继承 Thread类、实现 Runnable接口、Handler消息机制、HandlerThread

  2. 关于多线程的使用,可看我写的关于多线程的文集:多线程系列

  3. 注:实际开发中,当一个进程发生了ANR后,系统会在 /data/anr目录下创建一个文件 traces.txt,通过分析该文件可定位出ANR的原因

5.2 应用崩溃(Crash)

内存溢出 简介:

示意图


5.3 总结

下面,总结 关于稳定性的性能优化方案

示意图



6. 资源节省性

6.1 内存优化

6.2 减少安装包大小

  1. 空间占有率:即 应用程序占有手机内存的大小

  2. 下载门槛:应用的安装包越大,用户下载的门槛越高

特别在移动网络下,用户下载应用时,对安装包大小的要求更高,因此减小安装包大小可让更多用户愿意下载 & 使用产品


示意图



示意图


6.3 减少网络流量

具体描述:当加载资源时,先从内存缓存中寻找;若内存缓存中没有,则从文件缓存中寻找;若文件缓存中没有,最终再通过流量从网络中加载获取

6.4 减少应用的耗电量

具体优化方案如下:

示意图


6.5 总结

下面,总结 关于资源节省性的性能优化方案

示意图



7. 总结


性能优化概述



示意图