2

Stackoverflow 中的一些讨论说将图片存储在数据库中是一个坏主意(因为超时,图像数量会变大并可能导致应用程序崩溃)。所以,要么

一种。图像可以存储在 iPhone 本身中,只有它的位置可以存储在数据库中潜在问题:图像可能被删除(在应用程序之外)& 应用程序下次可能无法加载它们

湾。图像可以缩小到小尺寸(例如,100*100 像素)并存储在 DB 潜在问题中:如果图像缩小到 100x100 像素,尺寸会成为问题吗?

C。做(a)和(b)。因此,图像的小版本将存储在数据库中,然后检索并显示在应用程序中,而如果用户选择查看图像的原始版本(概率很低),那么将被获取从本地目录 & 显示。

请问您的建议?在我看来,(c)似乎是一个不错的选择,以防(a)提到潜在的问题。

4

1 回答 1

2

这实际上取决于图像的来源。它们是在用户安装应用程序后从 Internet 下载(或从用户的库/相机导入),还是从 App Store 与应用程序捆绑在一起?

如果正在下载/导入图像,最好的解决方案是按照http://developer.apple.com/library/ios/#qa/qa1719/_index.html中的建议将图像存储在文件系统中

基本上,如果图像无法替换或重新创建,请将它们存储在<Application_Home>/Documents目录中并且不要设置Do Not Backup属性。这些项目将备份到 iCloud,即使应用程序从设备中删除,这些数据也会至少保留一段时间。(请记住,您的用户没有无限的 iCloud 空间。请负责。)

-然而-

如果图像与应用程序捆绑在一起,最好的解决方案是将它们直接导入您的 Xcode 项目并从那里引用它们。这样,即使用户删除并重新安装应用程序,您也知道它们始终可用。

我肯定会尽可能远离将图像数据存储在数据库中。在大多数情况下,都有更好、更有效的方法。

于 2012-05-17T20:43:23.340 回答