【发布时间】:2011-01-03 05:17:41
【问题描述】:
我最近有一个应用因为内存不足异常而被应用商店拒绝。该应用程序不会泄漏内存,但它的基本内存占用似乎太高了。根据苹果发送的崩溃日志,它在内存中占用了大约 14000 页(主要是由于巨大的纹理)。不过有两件奇怪的事情:
- 我在提交之前在 5 台设备上进行了严格测试,从未在任何一台设备上发生过这种崩溃。
- 我确实在拒绝后优化了纹理,使它们大约是原始大小的一半(纹理内存消耗)。
我无法知道我的应用程序现在占用了多少页面,除非我可以重现与苹果相同的崩溃(我永远无法重现)。 是否有其他方法可以找出我的应用程序的内存占用,以便我可以确定它现在已经足够优化。
我确实尝试过工具,但是当我尝试通过我的 XCode 运行它时,我的应用程序崩溃了(我的 XCode 一定有问题)。但是当我直接在我的 iPhone/iPod 上运行它时,它可以完美运行。 任何帮助找出我的应用程序在 iPhone 上的内存占用(如果有类似于 Windows 的任务管理器的东西),将不胜感激。
谢谢
编辑:
从 XCode 启动应用程序会在控制台中出现以下错误: “启动远程程序时出错:无法获取进程 553 的任务。”
使用活动监视器启动应用程序会出现以下错误: “目标过早终止,无法收集数据”
EDIT2:
通过使用开发配置文件而不是分发配置文件,我能够使用 Activity Monitor 运行我的应用程序。但是现在活动监视器中有几个部分 - 使用的物理内存、实际内存、虚拟内存。我考虑其中哪一个。 总结一下,我需要知道其中哪一个导致 iPhone 抛出内存不足的异常。
【问题讨论】:
-
“我的 XCode 一定有问题” - 可能是您的应用程序。有错吗?
-
应用程序在 iphone 上独立运行,但从 XCode 启动时不运行。不知道怎么可能是应用的问题。
标签: iphone xcode performance instruments