对象C静态变量内存问题

时间:2011-01-07 20:36:37

标签: objective-c memory static

如您所知,我们在Object c中定义了一个静态变量参数,

我关心的是,如何从内存管理视图中映射此静态Object变量。

例如

@interface classA:NSObject
+ (id) getInstance;
@end

static ClassA staticObject = nil;
@implementation ClassA
 + (id){
      if(staticObject)
         staticObject = [doinitStuff];
      return staticObject   
 }
@end

现在的问题是:谁负责持有staticObject内存, 什么时候会被释放。

我在想什么:

运行时操作系统将监视应用程序,并且只有当应用程序真正退出时,才会释放此内存。 从RUNtime视图中,它被保留并且count = 1; //只是1

任何想法都会非常感激。 感谢。

1 个答案:

答案 0 :(得分:2)

它与任何其他变量没有什么不同。如果你想让它坚持下去,retain它。如果没有,请不要(或者,如果保留,则释放/自动释放它)。

在退出应用程序时无需释放内存。当您的应用终止时,无论如何都将获得所有资源。