我的应用程序收到内存警告,因为它需要大量内存。我尝试释放每个分配。但是,有时我不知道该怎么做。
例如:我有两对 .h 和 .m 文件。其中一个与服务器建立连接,另一个与本地 SQLite 建立连接。
通常,从这些文件调用方法的代码是这样的:
-(NSMutableArray *) getRecentActivity{
LocalStorageController *local = [[LocalStorageController alloc]init];
return [local getRecentActivity];
}
getRecentActivity 返回一个 NSMutableArray。
好吧,在那段代码中,我们可以看到我正在为 LocalStorageController 分配内存,但我从不调用 release 方法,所以我想,我调用该函数的次数越多,我将分配的内存就越多。
如果我在初始化后调用 autorelease,它会崩溃。
此外,通常,我使用这种其他类型的代码:
ServerConnection *serv = [[ServerConnection alloc]init];
NSMutableArray list = [serv getMyListOfContacts];
它使用 ASIHTTPRequest,如果我[serv release];
在第二行之后调用,应用程序会崩溃,EXC_BAD_ACCESS 指向 ASIHTTPRequest 库中的一行。
假设如何处理这种情况?
非常感谢!