【问题标题】:iPhone: Newbie memory management questioniPhone:新手内存管理问题
【发布时间】:2010-04-05 18:49:09
【问题描述】:

我刚开始接触可可。所以请原谅这个愚蠢的问题,但我还不能完全理解内存管理的某些方面。

在我的类的接口中,我将一个对象声明为CEMyObjectclass *myObject;。我不在类的初始化方法中分配或初始化对象。但我确实有一个调用myObject = [[CEMyObjectclass alloc] initWithImage:someImage]; 的方法。这最终会耗尽内存还是myObject 每次调用该方法时都会被新实例覆盖?

谢谢!

【问题讨论】:

    标签: iphone xcode memory-management memory-leaks


    【解决方案1】:

    你最终应该会用完。

    请记住,myObject 只是一个指向内存块的指针。指针myObject 将指向新分配的对象,您将没有对旧对象的引用。因此,您将无法释放它的内存(但该对象仍然存在)。

    一般来说,如果您alloc 某事(或retain 它),您有责任稍后将此消息与release 匹配。

    【讨论】:

    • 垃圾收集器不会清理这个?
    • 据我所知,iPhone上没有垃圾收集器。
    • 当应用程序完全退出时......“内存泄漏”是否仍然泄漏?
    • 我不是专家,但我会说一般(几乎在所有情况下)不。操作系统将在您的应用退出后进行清理——保持系统稳定是其责任的一部分(即使面对“泄漏”的应用)。
    猜你喜欢
    • 2011-02-12
    • 2011-01-07
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    相关资源
    最近更新 更多