我在应用程序中遇到内存泄漏问题。 我只是想知道是否有可能确定我的应用程序在堆上分配了多少内存,以便我可以相应地减少我的资源。 我知道该系统提供低内存警告和我可以在那里清理我的数据,但即使有时也不会发生。 如果我知道我的应用程序达到了最大内存和堆上剩余的大小,所以我可以更好地减少我的资源。
提前致谢....
答案 0 :(得分:0)
使用仪器。 XCode中的Command-I用于在Instruments中分析您的应用程序。
答案 1 :(得分:0)
是的,当然,我会推荐乐器的工具“Leaks”。它可以让你知道你的应用分配了多少内存,如果有漏洞,它会告诉你它们是什么,何时分配(显然没有发布)。
这是我前段时间使用过的一本很好的指南。 http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/
答案 2 :(得分:0)
#include <mach/mach.h> // freeMemory
#include <mach/mach_host.h> // freeMemory
#include <mach/mach_time.h> // time metrics
struct task_basic_info info;
if(dump_memory_usage(&info)) {
(size_t)info.resident_size;
(size_t)info.virtual_size;
}