【问题标题】:Xcode Instruments: peak RAM of iPhone apps running in Simulator?Xcode Instruments:在模拟器中运行的 iPhone 应用程序的峰值 RAM?
【发布时间】:2010-01-28 08:55:40
【问题描述】:
Activity Monitor(又名 Memory Monitor)是 Xcode Instruments 中唯一可以测量在 Simulator 中运行的 iPhone 应用程序的总应用程序 RAM 使用量的工具吗?只是显示瞬时有线 RAM 的那一行?
这与 iPhone 硬件相比有多准确,尤其是考虑到 OSX 分页 i/o 到 VM?
我看到仅编译和运行的默认 Xcode iPhone 项目模板(OpenGL 除外)有 7-8MB 有线 RAM 数据。同时,所有对象的对象分配都显示在 1MB 以下。
【问题讨论】:
标签:
iphone
xcode
ios-simulator
memory-management
activity-monitor
【解决方案1】:
不,有更好的方法。
转到“运行”菜单并选择Run with Performance Tool,然后选择Object Allocations。
这将启动 Instruments 并显示 RAM 使用情况。如果您选择Leaks 而不是Object Allocations,它对于检测内存泄漏也很有用。
【解决方案2】:
我同意,因为模拟器只是一个“API 模拟器”,你看到的行为至少在某种程度上取决于 OS X 如何管理内存。并且限制明显不同,例如您可以超过 128 MB 的内存,甚至 256 MB,这显然在任何当前的 iPhone 或 iPod Touch 上都是不可能的(至少,在撰写本文时......)。
我仍然发现它在 OpenGL 中用于确保正确释放纹理和其他项目,但除此之外,它只是一个粗略的指导方针。
但是,如果您想查看设备上的内存使用情况,有一个足够简单的解决方案。只需在 Xcode 中以 Device 为目标,然后转到 Run > Run with Performance Tool > Object Allocations,然后构建将被发送到设备,Object Allocations 工具将在 Xcode 旁边弹出并显示设备内存使用情况。