iOS:在 iPhone 上管理大型数据集内存的一般技巧?

发布于 2024-11-08 19:03:25 字数 271 浏览 0 评论 0原文

我目前正在开发一个数据密集型的 iPhone 应用程序。它下载大约 300kb 的 XML 数据,将其完全保存在模型对象的数组和字典中的内存中,并对这些数据执行各种操作,这可能会导致其大小增长几倍。

您如何管理这种规模的数据集?您会使用核心数据来管理它,还是会像我一样将这些数据保存在内存中并以这种方式操作它?我从来不需要在设备上实际保留任何这些数据。

此外,我是否应该担心在内存中保存这么多数据?

只是在这里寻找一些一般性建议,并想知道其他人在类似情况下做了什么。感谢您的提示。

I'm currently working on an iPhone app that is fairly data intensive. It downloads about 300kb of XML data, holds this entirely in memory in arrays and dictionaries of model objects and performs various operations on this data that likely cause it to grow a few times in size.

How do you go about managing data sets of this sort of size? Would you use core data to manage this, or would you simply hold this data in memory as I have done and manipulate it that way? There is never a need for me to actually persist any of this data on the device.

Additionally, should I be concerned about holding this amount of data in memory?

Just looking for some general advice here and wondering what others have done in similar situations. Thanks for the tips.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲爱恨情仇 2024-11-15 19:03:25

不要将 300 kB 的数据保留在内存中,而是考虑将 XML 数据放入核心数据存储中。

故障与 Core Data 一起使用谓词(“搜索”)来“延迟加载”信息 - 即,您仅在需要时从存储中提取数据,这减少了内存和性能开销。

我怀疑预取一些更频繁重复使用的数据可以帮助您的应用程序提高性能。阅读核心数据性能文档了解更多信息。

Instead of keeping the 300 kB of data in memory, consider putting the XML data into a Core Data store.

Faulting is used with Core Data predicates ("searches") to "lazy-load" information — i.e., you're only pulling data from the store when you need it, which reduces memory and performance overhead.

I suspect that pre-fetching some of your more frequently re-used data can help your app with performance. Read the Core Data Performance docs for more info.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文