سؤال

تطبيقي يستخدم الكثير من الذاكرة. عادة ما يتم تشغيله بشكل جيد، ولكن على جهاز محمل لم يتم إعادة تشغيله في لحظة، سيتم التخلي عن خطأ منخفض الذاكرة السمعة.

أود أن أرد didReceiveMemoryWarning وتحرير بعض مخابئ بلدي.

ولكن لدي مشكلة أن تطبيقي يعتمد على قالب OpenGL ES وليس لديه وحدة تحكم عرض. إنه لديه مندوب التطبيق الذي يحمل إشارة إلى GLVIEW.

ماذا يمكنني أن أفعله لفخ didReceiveMemoryWarning رسالة حتى أتمكن من الاستجابة؟

هل كانت مفيدة؟

المحلول

هذا هو متاح أيضا داخل الخاص بك مندوب التطبيق.

-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
  NSLog(@"Received memory warning!");
}

نصائح أخرى

يمكنك أيضا إضافة طريقة كمراقب، في أي فصل تريده، إلى UIApplicationDidReceiveMemoryWarningNotification تنبيه. قد يعجبك القانون مثل هذا:

- (void) cleanMemory: (NSNotification*) notification {
  // Save memory!
}

- (id) init {  // Or any other function called early on.
  // other init code
  [[NSNotificationCenter defaultCenter]
   addObserver:self selector:@selector(cleanMemory:)
          name:UIApplicationDidReceiveMemoryWarningNotification
        object:nil];
  return self;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top