我目前正在研究相当数据密集型的iPhone应用程序。它下载大约300kb的XML数据,将其全部保存在模型对象的数组和字典的内存中,并对这些数据执行各种操作,这可能导致数据增长几倍。iOS:管理iPhone上大型数据集内存的一般技巧?
如何管理这种大小的数据集?你会使用核心数据来管理这个数据吗?或者你会像这样完成并操作数据?我永远不需要在设备上实际保留任何这些数据。
此外,我应该关心的是在内存中保存这些数据量吗?
只是在这里寻找一些一般的建议,并想知道别人在类似的情况下做了什么。感谢您的提示。
听起来不像是一个真正的大量数据。不过,我首先用仪器对其进行分析,并查看所有对象的内存占用量有多大。然后决定迁移到Core-Data,或者如果你喜欢详细的工作直接sqlite。 – 2011-05-23 11:39:46
谢谢尼克。我将这些XML数据与硬编码到客户端的其他静态数据合并到应用程序中,这可能会使整个数据集超过1MB。为了方便,我只是将客户端保存的数据硬编码到应用程序中的模型对象中,并且想知道是否核心数据在这里可能是更好的选择。 – DingoSalad 2011-05-23 11:54:36
如果应用程序的其余部分没有耗尽所有可用内存我会坚持你目前的解决方案。但是,核心数据需要一些时间才能正确实施。就像Alex Reynolds提到的,你可以通过预取来保留内存中的托管对象。 – 2011-05-23 12:16:11