How to Use Instruments in Xcode】的更多相关文章

http://blog.csdn.net/woaifen3344/article/details/40748075 This is a blog post by iOS Tutorial Team member Matt Galloway, founder of SwipeStack, a mobile development team based in London, UK. You can also find me on Google+. Learn how to troubleshoot…
转自:http://www.cnblogs.com/daiweilai/p/4421340.html#biyouji 目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 前言 最近博主临近毕…
Instruments 用户指南 http://cdn.cocimg.com/bbs/attachment/Fid_6/6_24457_90eabb4ed5b3863.pdf 原著:Apple Inc. 翻译:謝業蘭[老狼] 联系:xyl.layne@gmail.com 鸣谢:有米移动广告平台 CocoaChina 社区 Instruments User Guide 目录 INSTRUMENTS用户指南...............................................…
Instruments Instruments是Xcode套件中没有被充分利用的一个工具.很多iOS开发者从没用过Instruments,或者只是用Leaks工具检测循环引用.实际上有很多Instruments工具,包括为动画性能调优的东西. 你可以通过在菜单中选择Profile选项来打开Instruments(在这之前,记住要把目标设置成iOS设备,而不是模拟器).然后将会显示出图12.1(如果没有看到所有选项,你可能设置成了模拟器选项). 图12.1 Instruments工具选项窗口 就像…
目录 知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 断点(BreakPoint)即是程序因人为设置中止的代码所在的那一行. 普通操作 如图3 基本的断点操作如下 图4 点击那个黑列列就创建了一个断点,…
在Mac OS X上你可以使用Gprof这样的UNIX工具用于测试程序性能.当然,Apple也有自己的Profiling Tools,用得比较多的是Shark.10.5里还引入了一个基于DTrace的叫Instruments的程序. Instruments 自Xcode 3.0开始,苹果提供了一种非比寻常的方法来调试应用程序,这就是Instruments.就像它的名字一样(Instruments意为乐器),Instruments提供了一种像苹果的音乐创作软件GarageBand一样的带有时间线的…
目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕业论文没任何一毛钱关系,我就…
转载自http://www.cnblogs.com/daiweilai/p/4421340.html 目录 前言 逼优鸡 知己知彼 百战不殆 抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints) 打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects) 进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试 结语 前言 最近博主临近毕业季…
最近接了个小任务,和公司的iOS小伙伴们分享下instruments的具体使用,于是有了这篇博客...性能优化是一个很大的话题,这里讨论的主要是内存泄露部分. 一. 一些相关概念 很多人应该比较了解这块内容了...可以权当复习复习... 1.内存空间的划分: 我们知道,一个进程占用的内存空间,包含5种不同的数据区:(1)BSS段:通常是存放未初始化的全局变量:(2)数据段:通常是存放已初始化的全局变量.(3)代码段:通常是存放程序执行代码.(4)堆:通常是用于存放进程运行中被动态分配的内存段,O…
Instruments 是应用程序用来动态跟踪和分析 Mac OS X 和 iOS 代码的实用工具. 这是一个灵活而强大的工具,它让你可以跟踪一个或多个进程,并检查收集的数据. 这样,Instruments可以帮你更好的理解应用程序和操作系统的行为. 使用 Instruments 应用,你可以使用特殊的工具(即 instruments 工具)来跟踪同一进程不同方面的行为.你也可以使用该应用来记录一系列用户界面的动作并响应它们,同时也可以使用一个或多个 instruments 工具来收集数据. I…
http://www.cocoachina.com/ios/20150902/13304.html 在iOS和OSX应用程序中存储和查询数据,Core Data是一个很好的选择.它不仅可以减少内存使用.提高性能,而且它可以使你避免写很多不必要的样板文件代码. 此外,Core Data API非常灵活,可以用在各种应用程序中,所有应用程序有不同的数据存数需求. 然而,这种灵活性意味着有时Core Data用起来可能稍微有点困难.即便你是一个Core Data专家,仍然会需要处理一些平常的任务,也会…
基于定时器的动画 定时帧 动画看起来是用来显示一段连续的运动过程,但实际上当在固定位置上展示像素的时候并不能做到这一点.一般来说这种显示都无法做到连续的移动,能做的仅仅是足够快地展示一系列静态图片,只是看起来像是做了运动. 我们之前提到过iOS按照每秒60次刷新屏幕,然后CAAnimation计算出需要展示的新的帧,然后在每次屏幕更新的时候同步绘制上去,CAAnimation最机智的地方在于每次刷新需要展示的时候去计算插值和缓冲. 之前,我们解决了如何自定义缓冲函数,然后根据需要展示的帧的数组来…
原文:http://www.cocoachina.com/ios/20150106/10839.html 基于定时器的动画和性能调优 基于定时器的动画 我可以指导你,但是你必须按照我说的做. -- 骇客帝国 在第10章“缓冲”中,我们研究了CAMediaTimingFunction,它是一个通过控制动画缓冲来模拟物理效果例如加速或者减速来增强现实感的东西,那么如果想更加真实地模拟 物理交互或者实时根据用户输入修改动画改怎么办呢?在这一章中,我们将继续探索一种能够允许我们精确地控制一帧一帧展示的基…
<大话移动 APP 测试> wiki: Software testing 第5章 常用工具介绍和实践 Android.iOS Monkey Android SDK 提供的一个工具:发送伪随机的用户事件流,压力测试. adb shell monkey -v 10 tips: 一般 Monkey 测试的日志很长,报告前需要过滤出有效且不重复的日志. 同时记录 logcat 日志.因为有时候仅仅 monkey 的崩溃日志不足以定位问题. 记录 seed.才能重现.回归. 阅读 monkey 源码,如…
Source:http://initwithfunk.com/blog/2013/05/31/breaking-bad-with-dtrace/ I’ve spent an unwise amount of time recently on a problem that arose when me and my Code Schoolcolleagues were developing the challenges for our upcoming course on MapKit. All o…
性能优化 代码应该运行的尽量快,而不是更快 - 理查德 在第一和第二部分,我们了解了Core Animation提供的关于绘制和动画的一些特性.Core Animation功能和性能都非常强大,但如果你对背后的原理不清楚的话也会降低效率.让它达到最优的状态是一门艺术.在这章中,我们将探究一些动画运行慢的原因,以及如何去修复这些问题. CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器).在现代iOS设备中,都有可以运行不同软件的可编程芯片,但是由于历史…
转载:https://segmentfault.com/a/1190000000390012 译注:这篇文章虽然比较长,但是里面的内容还是很有价值的. 像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数.这里我们讲一下这个过程背后的东西.希望能够帮助大家了解什么时候该使用什么API,特别是当遇到性能问题需要调试的时候.当然,我们这里主要讲iOS,但是事实上,很多东西也是可以应用到OSX上面的. Graphics Stack 绘制屏幕的过程中…
IOS各种调试技巧豪华套餐 普通操作 如图3 基本的断点操作如下 图4 点击那个黑列列就创建了一个断点,再次点击就临时取消这个断点(但是不删除),长按那个断点拖出去就删除了(mac os的系统工程师就是稀饭拖动的快感),当然也可以右键那个创建的断点,会弹出相应地菜单.当然也还可以监视某个变量!图5 在对象视图中,右键某个对象,点击“Watch ‘XXX’”就完成XXX对象的监视了. 这里我监视了lab这个UILabel的变量,每当这个变量进行更新它的信息就会被打印到控制台.好吧!我们最基本的创建…
http://www.raywenderlich.com/tutorials This site contains a ton of fun written tutorials – so many that they were becoming hard to find! So I put together this little page to help everyone quickly find the tutorial they’re looking for. Hope you enjoy…
前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我写毕业论文没任何一毛钱关系,我就是突然想吟湿了.不过博主作为网络工程专业的好青年,曾经的愿望和理想就是在下水道干出一番轰轰烈烈的大事业,没错是就是下水道,我们的征途在下水道!!不过大家别误会,我不是忍者龟的脑残粉!听我继续说!我想的是等我在各大排水系统各大下水道功成名就的时候,我就可以指着一个井盖对我的孙子说:“诺 那个下面的通信光缆是爷爷我接的!!” 我满脸自豪地接受着这孙子的敬仰!但是啊…
译注:这篇文章虽然比较长,但是里面的内容还是很有价值的. 像素是如何绘制到屏幕上面的?把数据输出到屏幕的方法有很多,通过调用很多不同的framework和不同的函数.这里我们讲一下这个过程背后的东西.希望能够帮助大家了解什么时候该使用什么API,特别是当遇到性能问题需要调试的时候.当然,我们这里主要讲iOS,但是事实上,很多东西也是可以应用到OSX上面的. Graphics Stack 绘制屏幕的过程中又很多都是不被人了解的.但是一旦像素被绘制到屏幕上面,那么像素就是有3种颜色组成:红绿蓝.这3…
IOS各种调试技巧豪华套餐   目录 前言逼优鸡知己知彼 百战不殆抽刀断Bug 普通操作 全局断点(Global BreakPoint) 条件断点(Condational Breakpoints)打印的艺术 NSLog 开启僵尸对象(Enable NSZombie Objects)进击的码农 Console(lldb 命令) Profile(instruments) Xcode视图调试结语 前言 最近博主临近毕业季,为了完美的写一篇毕业论文,真是:“锄禾日当午,汗滴禾下土”<—— 这句诗跟毕业我…
性能调优 代码应该运行的尽量快,而不是更快 - 理查德 在第一和第二部分,我们了解了Core Animation提供的关于绘制和动画的一些特性.Core Animation功能和性能都非常强大,但如果你对背后的原理不清楚的话也会降低效率.让它达到最优的状态是一门艺术.在这章中,我们将探究一些动画运行慢的原因,以及如何去修复这些问题. CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器).在现代iOS设备中,都有可以运行不同软件的可编程芯片,但是由于历史…
作者:字节跳动终端技术 -- 刘夏 前言 笔者来自字节跳动终端技术 AppHealth (Client Infrastructure - AppHealth) 团队,在工作中我们会对开源 LLVM 及 Swift 工具链进行维护和定制,推动各项编译器优化在业务场景中的落地.编译器作为一个复杂的软件也会有 bug,也会有各种兼容性和正确性的问题,这里我们分享一则开启 clang 的 -Oz 优化选项时发现的编译器缺陷. 问题 在 Xcode 中我们可以对 clang 编译器设置不同的优化等级,比如…
转载自:http://www.uml.org.cn/mobiledev/201212123.asp  (或者http://www.cocoachina.com/bbs/read.php?tid=129734&keyword=instrument)-->那个工程文件就到第二个链接里下吧,我这不知道怎么上传到文章里 自:写在前面,这个Leaks工具貌似也并不总对,我刚才就碰到了多运行一会程序后,显示有红柱 了,但一定位定位到main函数里了,问群里一哥们,他说不用太在意,可能是系统问题,先知道就…
  原文网址:http://www.cocoachina.com/industry/20140114/7696.html     比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来.有能力的的可以去看英文原版,鼓励大家看原版资料远离二手教程.这里是原文:http://www.raywenderlich.com/23037/how-to-use-instruments-in-xcode   入门 为了节省大家的时间,提供一个演示的Demo给大家.代码传送门.(请去原文…
主要途径是参考苹果官方文档,所以介绍以翻译官方文档为主.由于内容比较多,会分阶段来介绍. 以下来自苹果官方文档中对Instruments描述 介绍 Instruments是一个强大而灵活的性能分析和测试工具,它是Xcode开发工具集的一部分,它被设计用于帮助分析OS X和iOS的应用.进程与设备,以便更好的理解和优化它们的行为和表现.结合Instruments从你的app开发工作刚刚开始,可以节省你的时间,帮助你在开发周期的早期发现问题. 在Instruments中,可以使用指定的工具,跟踪应用…
原文网址:http://blog.csdn.net/totogo2010/article/details/8233565 虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用. 本文假设你已经比较熟悉Obj-C的内存管理机制. 实验的开发环境:XCode 4.5.2 1.运行Demo. 先下载一个实现准备好…
Instruments是动态分析工具,它与Xcode集成在一起,可以在Xcode中通过菜单Product→Profile启动.启动如图所示,Instruments有很多跟踪模板可以动态分析和跟踪内存.CPU和文件系统. 每个跟踪模板都有不同的用途,其中Leaks可以检测内存泄漏点,Allocations跟踪模板可以查看内存的使用情况.下面我们通过一个实例介绍一些Instruments工具的使用,我们来人为制造一个内存泄漏,我们在HelloWorldScene.cpp中修改代码: bool Hel…
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露,以及NSZombieEnabled设置的使用. 本文假设你已经比较熟悉Obj-C的内存管理机制. 实验的开发环境:XCode 4.5.2 1.运行Demo. 先下载一个实现准备好的内存泄露的Demo吧:leak app 下载下来,打开运行,程序是一个寿司的列表,列出各种寿司卷.试着选择里面的几行,应…