Моделировать предупреждения памяти из кода, возможного? [дубликат]

23
задан krasnyk 6 May 2010 в 22:15
поделиться

2 ответа

На самом деле это довольно просто, однако он полагается на недокументированный вызов API, поэтому не отправляйте свое приложение с ним (даже если оно находится в недоступном пути кода). Все, что вам нужно сделать, это: [[UIApplication sharedApplication] _performMemoryWarning];

Этот метод заставит объект UIApplication приложения опубликовать UIApplicationDidReceiveMemoryWarningNotification и вызвать метод applicationDidReceiveMEmoryWarning: в делегате приложения и во всех UIViewController

-(IBAction) performFakeMemoryWarning {
  #ifdef DEBUG_BUILD
    SEL memoryWarningSel = @selector(_performMemoryWarning);
    if ([[UIApplication sharedApplication] respondsToSelector:memoryWarningSel]) {
      [[UIApplication sharedApplication] performSelector:memoryWarningSel];
    }else {
      NSLog(@"Whoops UIApplication no loger responds to -_performMemoryWarning");
    }
  #else
    NSLog(@"Warning: performFakeMemoryWarning called on a non debug build");
  #endif
}
56
ответ дан 29 November 2019 в 01:02
поделиться

Просто alloc-init большие объекты в цикле и никогда не отпускайте их. Я полагаю, это должно вызвать предупреждение памяти довольно быстро.

1
ответ дан 29 November 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: