ios – 为什么XCode和乐器内存使用之间的巨大差异,是否可以?

ios – 为什么XCode和乐器内存使用之间的巨大差异,是否可以?,第1张

概述我正在使用XCode 7.0和iOS 9.0 SDK& ARC,在iOS 5的iPhone 5S上完成所有分析/测试.编辑:对于所有屏幕截图,它只是一次运行:我直接从xcode运行调试版本,然后手动连接到它.因此截图全部来自完全相同的单个测试运行.此内存增长(每个xcode视图)100%可重现. 我的应用程序下载ZIP文件,解压缩它们,并将它们添加到相机胶卷.我已经确保分析和捕获内存泄漏(即缺少C 我正在使用XCode 7.0和iOS 9.0 SDK& ARC,在iOS 5的iPhone 5S上完成所有分析/测试.编辑:对于所有屏幕截图,它只是一次运行:我直接从xcode运行调试版本,然后手动连接到它.因此截图全部来自完全相同的单个测试运行.此内存增长(每个xcode视图)100%可重现.

我的应用程序下载ZIP文件,解压缩它们,并将它们添加到相机胶卷.我已经确保分析和捕获内存泄漏(即缺少CGContextRelease)以及使用@autoreleasepool等

在解压缩期间,在xcode中我看到内存使用率快速上升,永不停止直到解压缩结束,我无法解释这一点,因为仪器中没有任何物体可以看到被抓住.永远不会释放内存(每个xcode的内存视图).在我的测试运行结束时,我看到使用了236MB,在解压缩期间没有内存警告.如果我使用Instruments的分配工具,我会看到50.2MB的堆和匿名VM使用.这是一个巨大的差异

我做的第一件事是假设[UIImage imagenamed:应该责备(缓存等)因为我有很多动画UIImageVIEws,所以我花时间从我的代码中删除所有imagenamed,并使用imageWithContentsOffile代替.这根本没有帮助.我使用iOS 8 Photo框架将解压缩的图像添加到相机胶卷中,如下所示:[PHAssetChangeRequest creationRequestForAssetFromImageAtfileURL:[NSURL fileURLWithPath:filePath]]

我花了相当多的时间来通过仪器和网络文章,但无济于事.谁能回答这些问题?

>为什么xcode内存使用与…之间存在差异?仪器 – 这是正常的吗?
>我认为这些数字对于发布这样的应用来说太高了,我必须在上传到应用商店之前对其进行改进,对吗?
>查看下面的屏幕截图,您可以在哪里建议我可以开始寻找问题吗?

非常感谢您的帮助.当然我会发布任何有用的源代码,我只是不知道从哪里开始……

XCODE内存使用236 MB

仪器

解决方法 最常见的原因是您的配置.默认情况下,当您在Xcode中运行时,您将构建在调试模式下.在Instruments中进行概要分析时,默认情况下会构建Release.您可以在方案中修改“运行”和“配置文件”配置以更改此设置. 总结

以上是内存溢出为你收集整理的ios – 为什么XCode和乐器内存使用之间的巨大差异,是否可以?全部内容,希望文章能够帮你解决ios – 为什么XCode和乐器内存使用之间的巨大差异,是否可以?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1066887.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存