iOS Instruments 学习

2019-12-20  本文已影响0人  SunshineBrother

Instruments 的介绍

Instruments 是一个很灵活的、强大的工具;是性能分析、动态跟踪 和分析 OS X 以及 iOS 代码的测试工具;用它可以极为方便收集关于一个或多个系统进程的性能和行为的数据,并能及时随着时间跟踪而产生的数据,并检查所收集的数据,还可以广泛收集不同类型的数据;也可以追踪程序运行的过程,这样 instrument 就可以帮助我们了解用户的应用程序和操作系统的行为。

instrument 能做的事情

instrument.png

介绍几个常用的 instrument 工具

使用 Instruments 的Leaks工具

Leaks.png 9BC8889F-FC86-40EF-9321-1BB285081298.png 5.png 6.png

概念解释

内存泄漏动态分析技巧

补充

Extended Detail 扩展面板(ɛkˈstɛnd,延展 diːteɪl,细节详情),在时间探查仪器的情况下,它是用来跟踪显示堆栈。

使用 Instruments的Time Profiler工具

Time Profiler分析原理:它按照固定的时间间隔来跟踪每一个线程的堆栈信息,通过统计比较时间间隔之间的堆栈状态,来推算某个方法执行了多久,并获得一个近似值。其实从根本上来说与我们的原始分析方法异曲同工,只不过其将各个方法消耗的时间统计起来。

用来检测app中每个方法所用的时间,并且可以排序,并查找出哪些函数占用了大量时间。页面如下

我们可以发现这段时间内因为我项目里面使用了Charts占用了很大的一段时间消耗

使用 Instruments 的Allocations工具

内存泄漏。其实有两种泄漏。

两种检测内存泄漏的方法

静态内存分析--> Analyze

分析到哪里有内存泄露 ( an(ə)lʌɪz 爱ne来z 对...分析)
1.不运行程序, app没有了Crash,直接对代码进行内存分析,查看一下代码是否有内存泄露
优点:分析速度快,并且可以对所有的代码进行内存分析
缺点:分析结果不一定准确(没有运行程序,根据代码的上下文语法结构)
2.注意:如果有提示有内存泄露,一定结合代码查看代码是否有问题
操作步骤:
1、Analyze是静态分析工具 可以通过菜单 Product→Analyze启动
或者
2、(shift+command+b) 图八

动态内存分析

真正运行程序,对程序进行内存分析(查看内存分配情况、内存泄露)
优点:分析非常准确,如果发现有提示内存泄露,基本可以断定代码问题
缺点:分析效率低(真正运行了一段代码,才能对该代码进行内存分析)
注意点:如果发现有内存泄露,基本需要修改代码(基本有内泄露)
操作步骤: Product -->Profile-->Allocations

二.内存使用注意

三.2个专业术语

四.图片在沙盒中的存在形式(dɪˈplɔɪm(ə)nt,部署)

上一篇下一篇

猜你喜欢

热点阅读