سؤال

وكلما إضافة viewController جديدة بلدي ObjectAlloc يقفز عاليا حقا وأبدا يعود إلى أسفل. حتى بعد استدعاء removeFromSuperview. هل هذا طبيعي؟

if((UIButton *) sender == gameArcadeBtn) {
        GameArcade *gameArcadeController = [[GameArcade alloc] 
                              initWithNibName:@"GameArcade" bundle:nil]; 
        self.gameArcade = gameArcadeController; 
        [gameArcadeController release]; 
        [self.view insertSubview:gameArcadeController.view atIndex:1];
    }
هل كانت مفيدة؟

المحلول

وInstantiating وجهة نظر دائما يخلق العديد objects.As طالما هذا الرأي هو في الذاكرة أو لم autoreleased، الكائنات وظلت alloced في الذاكرة. وهكذا، للإجابة على سؤالك، وهذا أمر طبيعي.

وهذا يبدو وكأنه كنت قلقا بشأن استخدام الذاكرة وعلى الرغم من أنه من المهم لمشاهدة allocs الكائن بحيث أنها لا تحصل على <ط> أيضا هو أكثر أهمية للعثور على تسرب التطبيق الخاص بك.

وبعض النصائح إدارة الذاكرة:
1) القيام تحميل كسول. تحميل فقط وجهات نظركم عندما يطلب المستخدم بالنسبة لهم، وليس فقط في بداية التطبيق في
2) إزالة كل ما يمكن لكم ربما عندما كنت لا حاجة إليها بعد الآن. وهذا يعني طن به العمل في viewWillAppear وviewDidDisappear
3) التعرف علىproperties ومدى ارتباطه autoreleasing، وعدم استخدام خصائص كل شيء.
4) وجاذبية كما هو، وتجنب autorelease يدويا والافراج عن الكائنات عند لا حاجة إليها بعد الآن.

نصائح أخرى

وهذا ربما يرجع ذلك إلى حقيقة أن كنت لا تزال تحتفظ تحكم في طريقة العرض في الصف. محاولة الإفراج عن أن

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top