草庐IT

instruments

全部标签

iOS Instruments Allocation 和 Leaks 使 Xamarin 应用程序崩溃

我目前正在使用Xamarin开发一个大型应用程序。我正在尝试修复发生的一些泄漏,但每当我使用仪器泄漏或分配时,这些工具都会使应用程序卡住并且记录停止进行任何操作。我的应用程序处于此链接中所述的调试模式:XcodeInstrumentsstopsrecordingwheniPadappleavesthesplashscreen日志中没有特别的崩溃,我已经尝试启用NSZombie检测但没有成功。Dec1521:00:15SU04xxxxxxxxx[351]:UsingThreadCount:2Dec1521:00:23SU04backboardd[28]:CoreAnimation:upd

ios - MKMapView 没有为 MKUserLocation 释放内存

我有一个导航Controller,其中VC1将VC2推送到导航堆栈。VC2在基于选项卡的View中有一个MKMapView,并打开了用户位置。当我使用Heapshot分析工具检查仪器的重复分配时,当我返回VC1时,我反复发现一些MKUserLocation对象没有被释放。我已经删除了所有注释并在dealloc时禁用了用户定位。堆增长的原因可能是什么?将VC2推送到导航堆栈的VC1代码:-(NSIndexPath*)tableView:(UITableView*)tableViewwillSelectRowAtIndexPath:(NSIndexPath*)indexPath{VC2*v

objective-c - 使用 Instruments 测试 iOS 应用程序开发的最佳实践

我想知道提供给客户的专业应用程序是如何优雅、流畅并且很少或没有应用程序崩溃的。因为我总是看到问题主要是关于内存泄漏、NSZombie或性能不够好。我发现用InstrumentsTool解决一些问题很棒。但我只是熟悉内存泄漏和僵尸模板。当然,我认为还有其他有趣的工具可以更好地跟踪和修复我们的应用程序。(系统使用、自动化测试等。有什么想法吗?)我的问题:使用Instruments改进您的应用程序的最佳策略是什么?推荐仪器模板或任何建议?让我们分享您的经验并进行讨论!*更新:*我可以问更多问题吗,我应该将这个问题编辑到wiki吗?我们可以分享战略应该不仅仅是问题。

ios - 在 Instruments 中进行分析时,OpenGL ES 应用程序似乎运行得更快

我不敢问这个问题,因为它不包含细节,也没有任何代码示例,但那是因为我在过去几年开发的三个完全不同的应用程序中遇到过它几周,我认为特定的代码可能只会掩盖问题。在网上搜索了一下,没有找到我遇到的现象的引用资料,所以我只是把它扔在那里,希望其他人也看到了同样的事情:'问题'是我构建的所有iOSOpenGL应用程序,对一个人来说,当我在Instruments中对它们进行分析时,它们运行得比它们独立运行时快得多。例如,帧速率大约快两倍(例如从30fps跳到60fps)。这既可以通过代码计时循环来衡量,也可以通过观察应用程序运行来衡量。仪器似乎在做一些神奇的事情。这是在设备上,而不是iOS模拟器上

ios - 如何从命令行以特定语言启动 iOS 模拟器?

我需要使用命令行启动使用特定语言的iOS模拟器。所以我发现我可以使用instruments-w它运行良好,我可以设置特定设备。但是我怎样才能用特定的语言运行模拟器呢?我试过添加-AppleLanguages-AppleLocale但是有一些警告:InstrumentsUsageError:Specifiedtargetprocessisinvalid:-AppleLanguage谢谢! 最佳答案 启动具有特定语言的iOSSimulator的唯一方法是更改​​其.GlobalPreferences.plist文件的内容。使用xcrun

ios - 内存占用过高 - 如何在 iPad 上处理大图像?

我最近在我的应用程序中遇到了一些内存管理问题。该应用程序利用了一些高质量的图像,这极大地增加了内存使用量。这里有一些关于项目的信息和图像细节,以使问题更清楚:我的项目中添加了大约90张图片。其中一半设计为@2x大小,以支持新iPad视网膜显示屏。因此每台设备的最大图像数量约为45张。所有图像的Retina版本总大小约为25兆字节(每个独立图像的大小从10KB到6.8MB不等)。同时,所有标准图像的大小等于11兆字节。项目的XCode存档大小为44MB。标准版图像中单张图像的最大分辨率约为1500x4000像素,最小分辨率约为60x60像素。Retina版图像的最大分辨率约为3000x8

ios - CFString(不可变)内存使用在 IOS 应用程序中不断增长

我正在使用工具检查我的IOS应用程序的内存使用情况,发现CFString一直在分配和增长。在我的代码中创建NSString对象时,我使用了StringWithFormat方法,而不是[[NSStringalloc]init]之类的方法。我怎样才能阻止这个?下图是仪器输出的屏幕截图。如果缺少问题的必要信息,请告诉我。 最佳答案 如果您使用方便的构造函数创建大量临时对象,那么使用自定义自动释放池block是一个好习惯。由于使用便捷构造函数创建的对象是自动释放的,因此它们可能不会立即释放。这就是内存使用量激增的原因。来自Apple:Man

ios - 第 4 代 iPod Touch 是否显示能源使用水平?

在InstrumentsDocumentation中,在谈到能源使用水平时,是这样说的:注意:iPhone3GS和第三代iPodtouch目前支持EnergyUsage仪器。我想这篇笔记只谈第3代,因为它是最新一代的,但我一直试图了解第4代iPodTouch的能源使用水平,但我还没有得到它(我在这个问题中问过这个问题:Instrumentsdoesn'tshowEnergyUsageLevel:itisempty)所以我认为也许这个注释目前也是正确的。我觉得Note说“INthirdgeneration”而不是“FROMthirdgeneration”很奇怪。所以问题是:第4代是否也显

iphone - 使用 Instruments 对性能进行基准测试

我正在寻找有关如何使用Instruments的TimeProfiler来增强特定操作的建议。我有一个分页ScrollView,可以按需加载其内容。当滚动到一个新页面时,另一个页面将加载到右侧两页。当当前页面滚动50%的屏幕时会发生这种情况,并且在较慢的设备上,加载足以成为瓶颈,它会中断滚动的平滑度。卷轴感觉就像它在50%品脱时非常短暂地暂停,然后跳回Action。我应该注意到,我的应用程序没有网络组件,因此瓶颈不是在获取数据时出现的,而是在加载新View时出现的。在我努力改进这一点时,我需要对转换进行基准测试,以便评估我的增强效果。观看了WWDCsession后,我了解了时间分析器的基

ios - TWRequest 在非 ARC 项目中使用时似乎会泄漏

Instruments(Leaks)在使用TWRequest时报告内存泄漏,我真的看不出我做错了什么。以下是重现问题的步骤:创建一个新的Xcode项目(禁用ARC),添加Twitter框架,然后将以下几行添加到代码中(例如在viewDidLoad中):TWRequest*postRequest=[[TWRequestalloc]initWithURL:[NSURLURLWithString:@"http://api.twitter.com/1/statuses/public_timeline.json"]parameters:nilrequestMethod:TWRequestMeth