0

我在我的应用程序中遇到内存泄漏问题。我只是想知道是否可以确定我的应用程序在堆上分配了多少内存,以便我可以相应地减少我的资源。我知道系统会发出低内存警告,我可以在那里清理我的数据,但即使有时它不会发生。如果我知道我的应用程序正在达到最大内存和堆上的剩余大小,那么我可以更好地减少我的资源。

提前致谢....

4

3 回答 3

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;
        }
于 2012-07-25T12:12:49.497 回答
0

使用仪器。XCode 中的 Command-I 在 Instruments 中分析您的应用程序。

于 2012-07-25T07:21:31.343 回答
0

是的,当然,我会推荐仪器的工具“泄漏”。它让您知道您的应用程序分配了多少内存,如果有泄漏,它会告诉您它们是什么,何时以及何时分配(并且显然没有释放)。

这是我前段时间使用的一个很好的指南。 http://www.cimgf.com/2008/04/02/cocoa-tutorial-fixing-memory-leaks-with-instruments/

于 2012-07-25T07:21:32.647 回答