Это своего рода загадка для меня.Мое приложение не использует много памяти, но если я помещаю его в фоновый режим и запускаю как можно больше приложений, интенсивно использующих память, то иногда мое приложение вылетает при попытке его разбудить.
Я имеюПосмотрел журнал сбоев, и вот что я вижу:
0 libobjc.A.dylib 0x000027da objc_msgSend + 18
1 UIKit 0x0008cab4 -[UIViewController unloadViewForced:] + 132
2 UIKit 0x0008ca22 -[UIViewController unloadViewIfReloadable] + 10
3 UIKit 0x0008c9f2 -[UIViewController purgeMemoryForReason:] + 34
4 UIKit 0x0008c896 -[UIViewController didReceiveMemoryWarning] + 10
5 My Application 0x00023340 -[MailboxViewController didReceiveMemoryWarning] (MailboxViewController.m:359)
6 UIKit 0x0008c880 -[UIViewController _didReceiveMemoryWarning:] + 8
Как вы можете видеть, мой контроллер вида MailboxViewController
получает сообщение didReceiveMemoryWarning
.Так как у этого представления нет памяти, которую он может действительно освободить, я просто звоню [super didReceiveMemoryWarning]
.
Странно, что я не вижу вызова моего контроллера вида viewDidUnload
.Кажется, что происходит сбой с «EXC_BAD_ACCESS (SIGSEGV)», прежде чем он вообще туда попадет.
Что происходит и как я могу это исправить?