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