instruments 中 Time Profiler的使用说明
来源:互联网 发布:安徽南瑞继远 知乎 编辑:程序博客网 时间:2024/05/19 23:25
注意手机上要有运行过的app:
1、我们要先 command + shift +k ,clean下
2、运行下app,command + r
3、Xcode–> Product–> Profile (command + i 快捷键)调出instrument,选择Time Profiler,我们可以跟踪哪个方法最耗时间,以此来优化
然后可以看到如下
点击左边红色的圆点,开始录制,我们就能看到方法执行所需要的时间
我们可以看到[GBLoopView animateCurrentTickerString];这个方法最耗时间。我们点击有个向右的箭头,看下该方法
GBLoopView是干嘛的呢,是在项目首页有个广播的跑马灯,之前的代码是在viewwilldisapper中将该广播暂停,自己猜测,难道是即使暂停了,里面还有些动画还在执行?于是在animateCurrentTickerString中打断点,果然即使已经push到其他页面,该方法在不断的循环调用,之前有个字断是running 用来记录当前状态的,在主页viewwilldisapper中将其暂停running=NO,在animateCurrentTickerString添加个判断,这样即使push到其他页面,该方法也不会一直在调用了。但是我比较好奇的是即使我在主页将该GBLoopView 暂停并且移除掉,该动画还是一值在执行,不知道该原因是什么~~
看下修改完之后的cpu的占用率
我的这个最耗时的已经修改好了,当然还有其他可以优化的。
注意:我们看下有下角的☑️选项,对于我们很有帮组
Separate by Thread:按线程分开做分析,这样更容易揪出那些吃资源的问题线程。特别是对于主线程,它要处理和渲染所有的接口数据,一旦受到阻塞,程序必然卡顿或停止响应。
Invert Call Tree:反向输出调用树。把调用层级最深的方法显示在最上面,更容易找到最耗时的操作。
Hide System Libraries:隐藏系统库文件。过滤掉各种系统调用,只显示自己的代码调用。
Flattern Recursion:拼合递归。将同一递归函数产生的多条堆栈(因为递归函数会调用自己)合并为一条。
Top Functions:找到最耗时的函数或方法。
- instruments 中 Time Profiler的使用说明
- Xcode instruments 之 Time Profiler的使用
- Instruments- time profiler
- Instruments 使用技巧 Time Profiler
- Mac 性能优化Instruments之Time Profiler
- iOS 性能调试Instruments ->Time Profiler
- 【iOS测试系列】instruments工具的使用(二)- 通过Time Profiler
- Time Profiler的使用
- Python time 模块中sleep的使用说明
- instruments介绍使用说明
- netbeans profiler 5.0使用说明
- adreno profiler使用说明
- 性能优化检测Instruments-time profile的使用
- Instrument 之 time Profiler
- instrument Time Profiler总结
- CPU—Time Profiler
- app性能优化之Time Profiler工具的使用
- app性能优化之Time Profiler工具的使用
- SpringBoot基础POM文件
- 转载——文字发光特效
- SAN存储交换机配置
- Java经典设计模式之五大创建型模式(附实例和详解)
- 感知哈希算法——找出相似的图片
- instruments 中 Time Profiler的使用说明
- webpack
- Redis哨兵集群
- CNN卷积神经网络笔记
- Linux基础知识
- 学习Android中疑惑的名词
- CHY Web 4 Qian Niu
- 软件网一周头条盘点(12.26-12.30)
- SpringCloud学习_1(注册中心)