我正在开发一个因内存使用过多而崩溃的应用。我想知道每个活动线程正在使用的内存量,以便我可以决定在屏幕元素中分配或绘制的内容从视图中释放或删除。有没有办法获得它?
我尝试过使用mach.h库但是mach_task_self()
我只能访问整个应用程序使用的内存。
提前致谢
答案 0 :(得分:3)
我认为你想要的是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
。
如果您真的不想使用乐器,那么您可以使用自定义类UIDeviceAdditions
:
Get current Memory usage
希望它足够了。
答案 1 :(得分:1)
你不能因为线程共享堆。使用512KB stack space创建线程,并根据需要分配内存页面。除此之外,每个线程值都没有存储在任何地方。