Skip to Main Content
iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
book

iOS 编程基础:Swift、Xcode 和Cocoa 入门指南

by Matt Neuburg
January 2017
Intermediate to advanced content levelIntermediate to advanced
552 pages
9h 43m
Chinese
China Machine Press
Content preview from iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
394
9
Instruments
的另一个强大之处就是检测内存泄漏的能力。在图
9-14
中,我运行了第
5
的保持循环代码:有一个
Dog
类实例和一个
Cat
类实例,它们彼此间都引用了对方。没
有其他引用再指向这两个实例了,因此它们都存在泄漏问题。我通过
Leaks
追踪模板来
分析应用。
Instruments
检测到了泄漏,甚至还绘制了图表展示了错误的结构!
9-14Instruments 展示了保持循环
在最后这个示例中,我想知道是否可以缩短
Diabelli
s Theme
应用加载图片的时间。我
将目标设为了设备,因为只有真正的设备才能体会到速度的重要性并且需要进行度量。
选择
Product
Profile
Instruments
启动,我选择了
Time Profiler
追踪模板。当应用在
设备上随
Instruments
启动后,我不断加载新图片来执行这部分代码。
在图
9-15
中,我已经暂停了
Instruments
,看看图上都有什么。打开窗口下方的小三角,
我可以钻取到自己的代码,这是由模块名
MomApp2
所标识的(之所以叫这个名字是因
为一开始是将这个应用作为我母亲的生日礼物的)。
双击这一行可以看到自己代码的执行时间(如图
9-16
所示)。分析器所指出的对
CGIma
geSourceCreateThumbnailAtIndex
的调用引起了我的注意;此处消耗了大部分的
CPU
时间。该调用位于
ImageIO
框架中;它并不是我写的代码,因此我对其速度的提升无能
为力。不过,我可以通过另外一种方式加载图片;比如 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Mars Geldard, Jonathon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787111556350