我对Objective-c语言的经验不多。我对目标C中的内存管理非常困惑。我知道内存管理是非常重要的因素,因此我们必须在开发过程中强烈关注它。
我的问题是我们必须遵循哪些基本的事情来减少对内存的使用?
答案 0 :(得分:2)
也许我见过的最明智的建议(前ARC)来自布伦特西蒙斯:How I Manage Memory
答案 1 :(得分:0)
这是一个非常好的问题,因为在Objective-C中没有垃圾收集器。我们必须手动处理内存。
当您alloc
,copy
或new
时,您拥有Objective-C中的对象。例如(我已经从http://interfacelab.com/objective-c-memory-management-for-lazy-people/复制了此示例代码):
-(void)someMethod
{
// I own this!
SomeObject *iOwnThis = [[SomeObject alloc] init];
[iOwnThis doYourThing];
// I release this!
[iOwnThis release];
}
-(void)someOtherMethod:(SomeObject *)someThing
{
// I own this too!
SomeObject *aCopyOfSomeThing = [someThing copy];
[aCopyOfSomeThing doSomething];
// I release this!
[aCopyOfSomeThing release];
}
-(void)yetAnotherMethod
{
// I own this too!
SomeObject *anotherThingIOwn = [SomeObject new];
[anotherThingIOwn doSomething];
// I release this!
[anotherThingIOwn release];
}