intruments 之 timeprofile

ios 性能分析系列 。
随着 app的逐渐完善 团队开发效率提升,不可避免的要去开始考虑app的性能方面。
我们可以使用apm 或者更加精准定位的是intruments。无疑 这是神器。

准备

  • 首先app必须开启debug模式下的 DEBUG INFORMATION FORMAT -> DWARF with DSYM File
    这样 我们就能定位代码了。

  • 开启profile PRODUCT->PROFILE

  • celltree 可以使用 hidesystemLibrary 以及seperatebythread

Paste_Image.png
开启分析
  • 右侧区域 E 会显示可能耗时的函数,以及函数调用顺序。
    每一步都会有耗时时间。
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

这个就吊了 耗时函数 以及耗时的比例。 甚至于可以在xcode中打开函数。

定位到了具体函数剩下的就是优化了,该咋地咋地。

  • 优化方案:对于初始化卡顿 可以尝试函数换个生命周期执行。
    计算量大造成的耗时 可以在asyn线程中调用 回到主线程刷新。
    该用单例创建的就该用单例 nsdate也是个元凶
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,181评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,273评论 19 139
  • java 接口的意义-百度 规范、扩展、回调 抽象类的意义-乐视 为其子类提供一个公共的类型封装子类中得重复内容定...
    交流电1582阅读 6,852评论 0 11
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,481评论 30 472
  • 主啊,赐我以智慧和力量吧! 来自先生的可信威胁 为什么这样说呢?因为我最近学习了一个心理学小理论,叫“可信威胁”。...
    Jane漂漂阅读 5,697评论 25 26

友情链接更多精彩内容