Мое приложение получает предупреждения памяти, потому что оно запрашивает много памяти. Я пытаюсь освободить каждое распределение. Однако иногда я не знаю, как это сделать.
Например: у меня есть две пары файлов .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.
Как предполагается управлять этой ситуацией?
Большое спасибо!