Xcode Instruments:模拟器中运行的 iPhone 应用程序的峰值 RAM?

发布于 2024-08-19 06:44:45 字数 251 浏览 5 评论 0原文

活动监视器(又名内存监视器)是 Xcode Instruments 中唯一可以测量在模拟器中运行的 iPhone 应用程序的总应用程序 RAM 使用情况的工具吗?只是显示瞬时有线 RAM 的那条线?

与 iPhone 硬件相比,尤其是 OSX 分页 I/O 到 VM 的情况下,其准确度如何?

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

Is Activity Monitor (a.k.a. Memory Monitor) the only tool in Xcode Instruments that can measure the total app RAM usage of an iPhone app running in Simulator? Just that line showing momentary wired RAM?

And how accurate is that versus iPhone hardware, especially given OSX paging i/o to VM?

I'm seeing 7-8MB wired RAM figures for just the default Xcode iPhone project templates (other than OpenGL) compiled and running. At the same time Object Allocations shows well under 1MB for all objects.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我入戏太深 2024-08-26 06:44:45

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

转到“运行”菜单并选择使用性能工具运行,然后选择对象分配

这将启动 Instruments 并显示 RAM 使用情况。如果您选择泄漏而不是对象分配,它对于检测内存泄漏也很有用。

Nope, there's a much better way to do it.

Go to the Run menu and select Run with Performance Tool then Object Allocations.

This will start Instruments and will show RAM usage. It's also useful for detecting memory leaks if you choose Leaks instead of Object Allocations.

花伊自在美 2024-08-26 06:44:45

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

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

但是,如果您想查看设备上的内存使用情况,有一个足够简单的解决方案。只需在 Xcode 中定位设备,然后转到“运行”>“使用性能工具运行>对象分配,然后构建将被发送到设备,并且对象分配工具将在 Xcode 旁边弹出并显示设备内存使用情况。

I would agree, since the Simulator is just an "API simulator", the behavior you see is going to be at least somewhat dependent how OS X manages memory. And the restrictions are obviously different, for example you can exceed 128 MB of ram, or even 256 MB, which obviously isn't possible on any current iPhone or iPod Touch (at least, as of this writing...).

I've still found it useful in OpenGL for making sure textures and other items are properly deallocated, but beyond that, it's just a rough guideline.

However, if you want to see memory usage on device, there's a simple enough solution. Just target Device in Xcode, and go to Run > Run with Performance Tool > Object Allocations, then the build will be sent to the device and the Object Allocations tool will pop up next to Xcode and show on device memory usage.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文