草庐IT

INSTRUMENTS

全部标签

ios - UIGraphicsGetImageFromCurrentImageContext 泄漏

我漏水了,但看不到哪里。这是我的部分代码:+(UIImage*)imageWithColor:(UIColor*)colorandSize:(CGSize)size{UIGraphicsBeginImageContext(size);CGContextRefcontext=UIGraphicsGetCurrentContext();CGContextSetFillColorWithColor(context,color.CGColor);CGContextFillRect(context,CGRectMake(0,0,size.width,size.height));UIImage*c

ios - 使用 Xcode Instruments 查看指针处的非僵尸对象历史记录

我目前正在使用Instruments调试“发送到已释放对象的消息”错误。我能够通过“ZombieMessaged”对话框访问故障对象的历史记录。我想在运行时找到一个类似的对象,它被正确分配/解除分配并且没有失败,并检查该对象的历史以比较调用树的样子。有什么办法吗?我可以打印我想检查的对象的指针位置,但是我有什么方法可以使用指针位置信息访问Instruments中该对象的历史记录吗?使用NSKeyedUnarchiver加载的对象似乎由于解码时的过度释放问题而失败,而不以这种方式创建的对象是可以的。 最佳答案 您可以使用instrum

ipad - 使用 Instruments 分析 iPad/iPhone web 应用程序

我们正在尝试确定为什么我们的一个网络应用程序最终导致iPad上的MobileSafari应用程序被终止(在模拟器甚至iPhone上运行良好)。是否可以通过Instruments分析MobileSafari应用程序来分析Web应用程序的CPU/内存使用情况(在模拟器上,或者在设备上更好)?谢谢! 最佳答案 您可以尝试在Instruments中打开您在模拟器中的分析,然后在(User)/Library/ApplicationSupport/iPhoneSimulator/的某处选择MobileSafari.app的可执行文件。或者您可以

xcode - 从 Instruments 启动 iPad 模拟器

在Xcode中,您可以选择一个将启动到iPad或iPhone模拟器的事件目标。但是,从Instruments启动应用程序时,我没有看到任何类似的选项。如何选择要在Instruments中启动的模拟器? 最佳答案 根据Appledocs,打开ChooseTarget,找到为模拟器编译的应用包再次打开下拉菜单,现在您应该可以看到启动选项在“启动选项”中选择模拟设备和iOS版本:这应该对你有帮助。 关于xcode-从Instruments启动iPad模拟器,我们在StackOverflow上找

iOS 使用一系列 JPEG(即 MJPEG)更新 UIView 的更快方法。 (仪器显示 50% CPU)

我正在通过网络从相机(MJPEG)接收一系列JPEG。我在UIView中显示接收到的图像。我看到的是我的应用程序花费了50%的CPU(经过测试的设备和模拟器),在我看来是UIView更新。是否有一种CPU密集度较低的方法来执行此屏幕更新?在将JPEG交给UIView之前,我应该以某种方式对其进行处理吗?接收方式:UIImage*image=[UIImageimageWithData:data];dispatch_async(dispatch_get_main_queue(),^{[cameraViewupdateVideoImage:image];});更新方法:-(void)upda

ios - 仪器 CFString(商店)

我正在应用程序上运行仪器。根据仪器,未检测到任何泄漏。但是,类别CFString(store)一直在上升。有谁知道CFString(store)是什么?这是否意味着我有泄漏? 最佳答案 根据我在处理其他事情时遇到的一些其他信息,看来这个问题可能是iOS6.1中NSURL中的缓存问题。我在使用AFNetworking1.3时遇到了这个问题。当我将Apptarget更新到iOS7时,问题不再存在。我还是不知道CFString后面的(store)是什么意思,可能指的是缓存之类的存储。我没有找到任何具有精确定义的文档。

iphone - 使用 UI 自动化工具删除单元格的语法是什么?

我正在编写一个UI自动化脚本来测试我的应用程序中包含许多单元格的页面。我可以选择编辑和保存页面。单击“编辑”时,将出现一个删除单元格的选项。此时我想让我的脚本删除或添加一个单元格。我怎样才能让脚本执行此操作? 最佳答案 带有元素索引:myCell.switches().[0].tap();myCell.buttons().[0].tap();或者使用谓词:myCell.switches().firstWithPredicate("namecontains[c]'Delete'").tap();myCell.buttons().fir

ios - 追踪低内存警告的根本原因

在Instruments中运行我的应用程序时,我看到发出了很多低内存警告。总内存分配不超过5.02MB。可能是什么原因?我也检查了泄漏仪器。在那里我看到了泄漏,但由于某些框架类。没有一个是因为我的项目类。如何追根溯源?请参阅随附的泄漏和分配工具快照: 最佳答案 当后台应用程序(邮件、消息、音乐播放器等)需要足够多的内存时,某些iOS设备上的某些操作系统版本会向前台应用程序发送内存警告。这与您的应用程序使用的内存量无关。如果你的应用程序没有使用大量内存(远低于10MB),它通常可以忽略这些内存警告,因为操作系统通常会杀死一个后台应用程

ios - 将 iOS 应用程序从分发身份辞职为开发人员身份

我使用持续集成工具构建应用程序,该应用程序使用Distribution标识和AdHoc移动设备。此应用程序在网站上发送以进行临时部署,并且一切正常。但现在我想在我的构建工作流程中添加一个步骤来执行UI自动化测试。Instruments需要一个使用开发者身份签名的应用程序,因此我希望/需要(Q.A.团队实际上想要)用开发者证书重新创建之前创建的.ipa,而不是构建一个使用开发者证书签名的应用程序的新版本。我使用以下命令退出应用程序:unzip"App.ipa"rm-rf"Payload/App.app/_CodeSignature""Payload/App.app/CodeResourc

ios - 跟踪分配/内存使用情况并逐步执行 XCode 中的代码?

我的应用正在下载base64编码的内容,在大多数情况下是PDF文档。它通过Web服务传输并封装在SOAP中。文档的大小可达100MB。要在本地存储这些文件,我需要将它们从SOAP信封中提取出来,解码base64字符串并写入存储。问题是,大约1MB的文档会使临时内存使用量增加20-30MB。在Instruments中跟踪分配时,我可以看到那些峰值。这不是什么大问题。但是60MB的文档会增加大约800MB的内存,这对于iOS设备来说肯定太多了。我正在尝试更改应用程序以防止或至少降低峰值。las,我不完全知道是哪几行代码负责。是否可以单步执行代码并同时查看当前分配或内存使用情况?我知道当应用