我应该在SQLITE DB中存储位图

时间:2015-04-24 08:30:53

标签: android sqlite bitmap

通过SQLITE DB中的Web服务存储从Web服务器检索到的图像是一个好主意。我正在研究这个Android应用程序,它从Web服务器检索大量图像并将它们放在列表视图中。我想将前100个图像存储在Android设备的某个存储区域中(即压缩它们之后)。当用户首次打开应用程序时,应用程序在下次用户打开时不会重新加载新图像app。因此,我将SQLITE视为我的顶级存储选项之一,我不确定是否有更好的方法来改善应用程序性能。我在Should i store images in SQLite database?看到了问题及其答案,这对我来说有点模糊。非常感谢您的意见。提前谢谢。

2 个答案:

答案 0 :(得分:2)

取决于图像的大小 - 如果查询的返回结果将超过1 MB(绑定程序限制),那么您必须将它们存储为文件并仅将URI存储在dbs中。

例如,您可以查看“联系人”提供程序 - 缩略图存储在数据库中但完整图像不是 - 只有完整图像的URI是联系人数据库的一部分。

答案 1 :(得分:0)

您链接的问题也解释了最佳做法。

通常,您应将实际图像文件存储在设备的文件系统或存储卡中。

然后您的应用可以在数据库中找到对它们的引用

e.g。

SELECT avatar_image FROM profile WHERE user_id = 1;会返回您存储的图片的本地设备文件路径,然后可以将其加载到ImageView