4

Activity Monitor(又名 Memory Monitor)是 Xcode Instruments 中唯一可以测量在 Simulator 中运行的 iPhone 应用程序的总应用程序 RAM 使用量的工具吗?只是显示瞬时有线 RAM 的那条线?

这与 iPhone 硬件相比有多准确,尤其是考虑到 OSX 分页 i/o 到 VM 的情况下?

我只看到编译和运行的默认 Xcode iPhone 项目模板(OpenGL 除外)的 7-8MB 有线 RAM 数据。同时,对象分配显示所有对象的大小都低于 1MB。

4

2 回答 2

7

不,有更好的方法来做到这一点。

转到“运行”菜单,Run with Performance Tool然后选择Object Allocations

这将启动 Instruments 并显示 RAM 使用情况。如果您选择Leaks而不是Object Allocations.

于 2010-01-30T05:55:29.597 回答
1

我同意,因为模拟器只是一个“API 模拟器”,你看到的行为将至少在某种程度上取决于 OS X 如何管理内存。并且限制明显不同,例如您可以超过 128 MB 的内存,甚至 256 MB,这显然在任何当前的 iPhone 或 iPod Touch 上都是不可能的(至少,在撰写本文时......)。

我仍然发现它在 OpenGL 中用于确保纹理和其他项目被正确释放,但除此之外,它只是一个粗略的指导方针。

但是,如果您想查看设备上的内存使用情况,有一个足够简单的解决方案。只需在 Xcode 中以 Device 为目标,然后转到 Run > Run with Performance Tool > Object Allocations,然后构建将被发送到设备,Object Allocations 工具将在 Xcode 旁边弹出并显示设备内存使用情况。

于 2010-01-30T22:46:58.123 回答