将图像存储在 android 中的 SD 卡或 SQL lite DB 中的最佳做法是啥?

Posted

技术标签:

【中文标题】将图像存储在 android 中的 SD 卡或 SQL lite DB 中的最佳做法是啥?【英文标题】:what is the best practice store images in android in SD card or in SQL lite DB?将图像存储在 android 中的 SD 卡或 SQL lite DB 中的最佳做法是什么? 【发布时间】:2011-05-31 03:52:51 【问题描述】:

我想存储示例图像。将天气存储在 SD 卡或数据库中的最佳有效方式是什么?

【问题讨论】:

【参考方案1】:

如果图像不大(2-3 KB)并且它们的集合不应该被扩展,那么您可以将它们保存到 db。但是写它们,读它们会更难。另一方面,用户将无法对它们进行任何操作。

否则,如果您想让用户扩展图像集合或图像较大,则应将它们存储到 sd 卡。

无论如何,您应该注意空间不足并适当处理这些情况。

【讨论】:

嗯,我有一个中等大小的图像集合,我通过压缩它们将它们保存在数据库中,这样可以节省我的空间,并且它被证明比磁盘 I/O 更快。 @Aizaz : 你是怎么压缩图片的?你能提供一些线索吗? 是的,兄弟,您可以使用他们的默认压缩,您只需告诉他们您想要多少质量。如果你给 75 这意味着 25% 你的图像将被压缩。但是从数据库获取图像需要很多时间,如果我将它们存储在我的应用程序中会更好。 从数据库读取写入会导致您的处理成本过高。在我将图像放在数据库上之前,我的应用消耗了 8% 到 12% 的电池,之后它消耗了高达 24% 的电池。如果用户知道您的应用正在耗尽他的电池电量,他肯定会卸载您的应用。 developer.android.com/reference/android/graphics/Bitmap.html compress(Bitmap.CompressFormat 格式,int 质量,OutputStream 流)

以上是关于将图像存储在 android 中的 SD 卡或 SQL lite DB 中的最佳做法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Android - 如何放置一个从 SD 卡或相机胶卷加载图像的图像视图?

触发图像点击事件时,如何将图像保存到手机内存(例如 SD 卡或本地硬盘驱动器)?

Android:尝试将图像保存到 SD 卡时应用程序退出

防止其他应用访问我的应用存储在 sd 卡中的图像

获取存储在 sd 卡 + android 中的图像的缩略图 Uri/路径

如何将图像从安卓相机上传到网络服务器(不在应用程序中)