【问题标题】:Core data storage limit, Cache Limit, RAM limit on iphoneiPhone 上的核心数据存储限制、缓存限制、RAM 限制
【发布时间】:2013-01-02 04:03:04
【问题描述】:

我正在制作一个复杂的应用程序,其中的每一个细节都是 imp。我有一些疑问 1. 如果我们计划将大文件保存在核心数据/缓存上,我们有多少存储限制。 2. iphone的内存限制是多少?实际上正在搜索一些可以在此提供有关 IOS 设备的详细信息的表。因为我需要处理内存警告并保护应用程序崩溃。 3.最好将图像保存在缓存或核心数据中,假设您大约有很多图像。 200-250。

谢谢

【问题讨论】:

  • 尽量不要将图像存储在 CoreData 中,因为这会使 CoreData 变慢。您应该将图像保存在文件系统中,并仅保存图像的名称/路径(或任何您需要对正确图像进行精细处理的内容),然后从那里加载图像。
  • 应用程序的 RAM 限制取决于正在运行的应用程序数量和其他因素。一般来说,你的应用程序的内存应该小于 10megs,而且你的应用程序被杀死可能不会遇到问题。 iPhone 和 iPad 的内存映射文件 IO 空间上限均为 700 兆(与 ram 不同)。磁盘空间取决于设备上的存储空间有多大。

标签: ios image caching core-data


【解决方案1】:

1) 我不知道有任何存储限制。显然,您永远不会获得 64GB 或更多 - 因为没有更大的设备 ;-)。我妻子的 Facebook 应用程序目前消耗 >5GB... 我想他们做错了什么。唯一重要的一点是在存储已满时优雅地失败(显示对话框,清理一些空间,...)。

2) RAM 限制因 iPhone 型号和当前运行的应用程序而异。市场上也有一些内存较小的 iPod。 30MB 应该是相当安全的。可以按照here 的描述检索设备的总物理内存,而可用 RAM 的检索可以从that 问题中得出。

3) 也许this 是一个很好的起点。正如here建议的那样,我总是将图像数据写入文件系统并将文件名存储在数据库中。

【讨论】:

  • 所以根据我的经验,我同意@chris 和@holex。非常感谢,文件系统是一个更好的调用。此外,每个 ios 设备的缓存是否有限制,因为我在一个应用程序中发现了一些问题,其中缓存是在 NSDocumentDir 中完成的......我认为应该使用 NSCachinDir(请回复此问题)......并且有任何限制我们需要遵循的缓存/预防措施,以便在这方面顺利应用。
  • @christoph....bt 是的...我们应该将经常更改的图像存储在 NSCacheDirectory 而不是 NSDocumentDirectory RIGHT ???
  • 在不详细了解您的用例的情况下:是的。也许this 可以帮助你。
猜你喜欢
  • 2010-12-27
  • 2013-08-22
  • 2011-08-08
  • 1970-01-01
  • 2010-09-26
  • 2012-12-12
  • 1970-01-01
  • 2021-12-02
  • 2015-09-20
相关资源
最近更新 更多