iPhone NSMutableArray与SQLite

| 我有一个为iPhone开发的目录,这是我的第一个应用程序。因此,当目录中的照片超过55张时,我会遇到内存泄漏和应用程序崩溃的问题。 (我将在崩溃时说明) 我已经使用泄漏性能工具进行了测试,并且成功修复了泄漏,但是我的应用仍然崩溃。 我的数据类有5个NSMutableArrays。 1个有50个用于Portrait的UIImage元素。第二个有25个用于Landscap的UIImage元素(目录使用2个肖像合1个风景图像)。其他有50个NSNumber作为纵向Array到横向Array的参考图像位置。另外两个具有50个NSString元素,分别具有图标图像的(1)名称和(2)地址。在AppDelegate(应用程序负载)中创建一个Data类对象。 我从Portrait开始目录,通过传递portrait Array(带有UIImages)来创建视图。当设备向左转时,我重新制作了通过横向数组的视图(释放旧视图)。在xCode中,所有这些都可以正常工作!!!在设备中,当我向左转设备(以重新创建视图)时,有时(当我打开其他应用程序时注意到),该应用程序崩溃并显示以下消息: \“程序收到信号:“ 0”。 数据格式化程序暂时不可用\“ 我知道此消息涉及内存泄漏问题,所以我的问题是: 使用SQLite存储数据(实际上存储在NSMutableArrays中)我将获得内存性能吗?我是iPhone的SQLite的新手。还有其他解决方案来存储我的数据吗? 谢谢大家!     
已邀请:
这个问题与ѭ0和ѭ1无关,而与内存使用有关。
UIImage
通常会占用大量内存,应在不需要时释放它,通常在不可见时会释放它。您的应用程序可能有0个泄漏,但仍然会崩溃。您需要注册
UIApplicationDidReceiveMemoryWarningNotification
通知并采取相应行动。
UIViewController
已经响应
- (void)didReceiveMemoryWarning
,您可以覆盖它。现在,当您需要释放内存时,将这些映像存储在磁盘上时,可以使用SQLite或我建议的方式,只需创建一个缓存文件夹即可。     
我喜欢SQLite作为解决方案。提供一个预先填充的数据库很容易,除此之外,您只需将您的应用程序挂接到可以添加/删除/更新记录的某些方法中即可。 使用SQLite不会解决您的问题-问题是内存管理。弄错了,与存储数据的位置无关。 分开两个问题-显示与存储。使显示正常工作,然后担心将数据存储在何处。     

要回复问题请先登录注册