App 性能分析
2024-09-23 15:02:56
关键因素: ---- Instrument 性能分析神器
1. 启动时间
应用启动时间长短对用户第一次体验至关重要,同时系统对应用的启动、恢复等状态的运行时间也有严格的要求,在应用超时的情况下系统会直接关闭应用。以下是几个常见场景下系统对app运行时间的要求: * Launch 20秒 Resume 10秒 Suspend 10秒 Quit 6秒Background Task 10分钟
要获取准确的app启动所需时间,最简单的方法时首先在main.c中添加如下代码:
1 |
|
然后在AppDelegate的回调方法application:didFinishLaunchingWithOptions
中添加:
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@”Lauched in %f seconds.”, (CFAbsoluteTimeGetCurrent() – StartTime));
});可能你会觉得为什么这样可拿到系统启动的时间,因为这个dispatch_async中提交的工作会在app主线程启动后的下一个run lopp中运行,此时app已经完成了载入并且将要显示第一帧画面,也就是系统会运行到`-[UIApplication _reportAppLaunchFinished]`之前。下图是用Instruments工具Time Profiler跑的调用栈,Instruments的使用方法建议看WWDC中与performance相关的[session录像](https://developer.apple.com/videos/wwdc),文字写起来太单薄不够直观哈。
2. 用户响应
3. 内存
4. 图形图画
5. 文件
6. 网络
最新文章
- OleDbDataReader快速数据读取方式
- jQuery-表单流程导航
- PetaPoco 使用总结(二)
- NYOJ题目1048破门锁
- [mysql] linux 下mysql 5.7.12 安装
- 【Delphi】注册快捷键
- 第二百四十三天 how can I 坚持
- copssh加bitvise
- RR模式下利用区间锁防止幻读,RC模式没有区间锁会出现幻读
- IBM总裁郭士纳总结的四类人
- [转]Windows Shell 编程 第九章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987969】
- STL string常用操作指令
- css_day5
- sharepoint 2010 在自定义列表的字段上增加功能菜单
- TweenMax动画库学习
- 7F - 无限的路
- sklearn中各种分类器回归器都适用于什么样的数据呢?
- 学习笔记(二)--->;《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
- Maven手动安装jar包到仓库
- 安装指定版本的nodejs