iphone - 仪器 ObjectAlloc : Explanation of Live Bytes & Overall Bytes

标签 iphone objective-c xcode instruments

我正在使用 Instument 的 ObjectAlloc 工具来尝试了解我的应用程序 (iPhone) 正在执行的内存以及它执行的时间和地点。

我真的很想对这些统计数据进行基本解释:

  • 实时字节
  • #生活
  • #Transitory
  • 总字节数

当我试图计算我的应用程序正在使用多少内存时,我应该查看 Live Bytes 还是 Total Bytes?这包括泄漏的内存吗?什么是 Transitory 对象?

谢谢

最佳答案

ObjectAlloc 跟踪程序运行期间的所有内存分配和释放。

Living bytes 或 Net bytes 是您在时间线中选择时您的应用程序正在使用的内存量。这将包括泄漏的内存,因为泄漏的内存永远不会被释放。

#Living 是发生了多少特定大小/对象类型的分配(并且仍在分配)。这在查找泄漏时非常有用。

例如,如果您重复执行一个 Action (例如从模态视图 Controller 中出来),并且您看到一个对象的 #Living 每次都以相同的量增长,那么您可能正在泄漏这些对象。然后,您可以通过深入查看并查看分配对象的确切代码行来确认,甚至可以查看每个对象的创建时间索引。

Overall bytes 包括已释放的内存。跟踪该数字以优化性能很有用,但如果您只是想查看当前的内存占用或查找泄漏,则不会。

关于iphone - 仪器 ObjectAlloc : Explanation of Live Bytes & Overall Bytes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154219/

相关文章:

iphone - 将 iPhone 设备旋转至横向时隐藏 TabBar

objective-c - 如何隐藏空项目的 UITableView 网格线/分隔符

ios - 动态 UITableView 中的 UISlider

ios - 在 UIViewController 中管理方向的说明

ios - UIWebView 内容不会在不同的 iPhone 尺寸之间缩放

iOS 图标 : Size vs points?

ios - 在 Xcode 中制作表格 View

iphone - iOS 当应用程序位于前台时,我可以使用本地通知播放声音吗

iphone - 如何找出屏幕方向,纵向还是横向?

ios - 如何在一个 UIViewController 下的 Xcode 上显示多个 Web View 链接