Мое приложение получает предупреждения о памяти, потому что просит много памяти. Я пытаюсь выпустить каждое выделение. Однако иногда я не знаю, как это сделать.ios alloc-release
Например: У меня есть две пары файлов .h и .m. Один из них устанавливает соединения с сервером, а другой - с локальным SQLite.
Обычно код, который вызывает к способу из этих файлов, как это:
-(NSMutableArray *) getRecentActivity{
LocalStorageController *local = [[LocalStorageController alloc]init];
return [local getRecentActivity];
}
getRecentActivity возвращает NSMutableArray.
Ну, в этом фрагменте кода мы видим, что я выделяю память для LocalStorageController, но я никогда не вызываю метод release, поэтому, я полагаю, чем больше я вызываю эту функцию, тем больше памяти я буду выделять.
Если я вызываю autorelease после init, он сработает.
Кроме того, как правило, я использую этот другой вид кода:
ServerConnection *serv = [[ServerConnection alloc]init];
NSMutableArray list = [serv getMyListOfContacts];
который использует ASIHTTPRequest и, если я позвоню [serv release];
после второй линии, сбои приложений с EXC_BAD_ACCESS указывая на линию в библиотеке ASIHTTPRequest.
Как можно управлять этой ситуацией?
спасибо!
Вы используете ARC? –
Нет, я не использую ARC – Ibai