apm 应用性能管理(启动优化/ 掉帧卡顿/ 耗电/ 内存泄漏等)

APM

 

首先查看各个阶段耗时 : (环境变量设置 dyldPRINTSTATISTICS = 1选项,)

 

1. 启动优化

        关键: 找到耗时的原因

t总 = t1 (premain) + t1(main之后)

t1:   premain

过程:

1.先加载可执行文件(所有.o文件的集合)

2.加载动态链接库(所有系统的framework, 比如UIKit、Foundation等都是以动态链接库   的方式集成进App中的)

tip: 动态库好处:  a.在内存中只有一份, 所有进程共享系统库 

b.相比静态库, 编译时不需要打进去

 

3. oc类的加载/初始化 +load 方法

优化:

1.减少不不要的framework

2. framework应当设为optional和required (支持的所有iOS系统版本)

3.合并或删减一个oc类, 清理没用的类, 使用Appcode检查

                 4删减无用的静态变量 

  5删减无用的废弃的方法

  6不必要在+load方法中做的事 延迟到+initialize中

t2: main() 之后 

过程:

1.初始化相关服务(三方库等)

2.显示首页(优化也是围绕着如何快速展现首页来做)

 

优化:

1. 代码方式加载首页视图, 不用xib

2. 异步:启动时的网络请求 

3.异步: 初始化第三方服务

 

 

  2.耗电

2.1 Energ Impact 查看概况

2.2细致验证 instrument - energy log  (+配合timeProfile 抓看代码运行细节)

优化: 

a.cpu优化, 尽可能将次cpu功耗, 尽可能减少定时器的使用

b.网络请求优化 ,减少长连接等

c.定位优化   - 及时关闭

d.硬件检测优化  - 加速计 陀螺仪等吗, 及时关闭

 

3. 内存泄漏 

instrument- Leaks

4.内存开销

instrument - Acllocations 检测内存使用/ 分配情况

5.耗时 (代码运行细节)

instrument - timeprofile

 

 

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/daxueshan/p/11898266.html