2012-04-18 2 views
-1

У меня мало опыта работы с объектно-ориентированным языком. я довольно запутан с управлением памятью в объективном C. Я знаю, что управление памятью является очень важным фактором, поэтому мы должны уделять особое внимание этому при разработке.Основные этапы управления памятью в объективе-c

Мой вопрос - это то, что основные вещи мы должны соблюдать, чтобы максимально уменьшить использование памяти?

+0

После поможет - HTTP : //stackoverflow.com/questions/106627/memory-management-in-objective-c – rishi

+2

К сожалению, это слишком обширно тема, на которую нужно ответить здесь. У Apple есть полное руководство по этому вопросу, которое я рекомендую прочитать: https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html –

ответ

0

Это очень хороший вопрос, потому что в Objective-C нет сборщика мусора. Мы должны вручную обрабатывать память.

У вас есть объект в Objective-C, когда вы alloc it, copy it или new it. Например (я скопировал этот пример кода из 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]; 
} 
+4

Вы полностью исключаете существование ARC , – Till

+1

спасибо за ответ, я проверю эту ссылку. – freelancer

+3

@ Продолжить: Мне нравится этот факт, поскольку ARC позволяет noobs создавать приложения, не зная, что они делают, и спам AppStore с приложениями низкого качества. Люди, которые знают, что они делают, не нуждаются в ARC. –

2

Возможно самый ясный совет, который я когда-либо видел (предварительно ARC) был из Брент Симмонс: How I Manage Memory