我正在开发一个由于内存使用过多而崩溃的应用程序。我想知道每个活动线程正在使用的内存量,以便我可以决定在屏幕元素中分配或绘制的哪些释放或从视图中删除。有没有办法获得它?
我曾尝试使用 mach.h 库,但mach_task_self()
我只能访问整个应用程序使用的内存。
提前致谢
我正在开发一个由于内存使用过多而崩溃的应用程序。我想知道每个活动线程正在使用的内存量,以便我可以决定在屏幕元素中分配或绘制的哪些释放或从视图中删除。有没有办法获得它?
我曾尝试使用 mach.h 库,但mach_task_self()
我只能访问整个应用程序使用的内存。
提前致谢
我想你想要的是logMemUsage()
。
您可以查看此问题的答案: Watching memory usage in iOS
我想你也可以从这个文档中得到一些东西: Understanding and Analyzing iOS Application Crash Reports
如果要在应用程序运行时检查内存使用情况,请使用 Instruments。:
使用Instruments
您可以检查您的应用程序正在使用多少内存。在Xcode4
中,使用 ' Profile
' build,选择Leaks
,然后单击工具栏中的Library
按钮并添加Memory Monitor instrument
.
如果您真的不想使用 Instruments,那么您可以使用自定义类UIDeviceAdditions
:
获取当前内存使用情况
希望够了。
你不能因为线程共享堆。线程使用512KB 堆栈空间创建,并根据需要分配内存页面。除此之外,没有存储在任何地方的每个线程值的内存。