ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2019-11-20 15:53:19  阅读:434  来源: 互联网

标签:framework 删减 instrument 耗电 内存 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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<style></style>

标签:framework,删减,instrument,耗电,内存,apm,优化,卡顿,加载
来源: https://www.cnblogs.com/daxueshan/p/11898266.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有