0

我正在尝试释放我的应用程序中一些未使用的资源。我有几个 MB 的GeneralBlock类别(对象?),我不知道这是什么,也不知道我应该如何处理这个 GeneralBlock 的释放。

GeneralBlock 没有明显的用处。当我启动我的应用程序时,会出现一个菜单屏幕,此时我使用了大约 300kb 的内存。在应用程序结束时,用户按下一个按钮,将他/她带回到同一个菜单屏幕,那里应该仍然只有大约 300kb 的内存正在使用,但实际上有将近 2.5MB 的内存!!!? ?? 其中大部分归功于GeneralBlock,在某处徘徊。我将显示设置设置为“已创建且仍然存在的对象”,因此它不能是任何已释放对象...请赐教。

4

1 回答 1

1

跟踪内存使用情况

在图标模式下,ObjectAlloc 工具显示一个表格,其中列出了应用程序中曾经分配的所有内存块,如图 1 所示。Category 列显示内存块的类型——Objective-C 类名或 Core基础对象名称。如果 ObjectAlloc 无法推断块的类型信息,它使用“GeneralBlock-”,后跟块的大小(以字节为单位)。Net 列显示当前存在于应用程序内存堆中的每种类型的块数。总体列显示已分配的每种类型的块的总数,包括已释放的块。

另见这篇文章

基本上,只要没有泄漏,那些 GeneralBlock 分配就可以了。

于 2009-08-28T06:39:03.383 回答