2015-04-24 118 views
0

将通过Web服务从Web服务器检索的图像存储在SQLITE数据库中是一个不错的主意。我正在研究这个android应用程序,它从Web服务器检索大量图像,并将它们放置在一个列表视图中。我想在Android设备的某个存储区域中存储前100张图像(即在压缩之后)。当用户第一次打开应用程序时,应用程序不会在下次用户打开应用所以,我将SQLITE视为我的顶级存储选项之一,我不确定是否有更好的方法来改善应用性能。我已经看到Should i store images in SQLite database?问及其答案,这对我来说有点模糊。您的意见是高度赞赏。提前致谢。我应该将位图存储在SQLITE数据库中吗

+0

你应该将它们保存为'字符串'格式,因此你需要将它们转换成'Base-64' –

+0

我不认为这是一个好主意,更好地将图像存储在SD卡中并从那里使用它们 –

+0

@GeorgeThomas手机内存呢?人们无法确定SD卡在用户设备上的可用性。 – Molluska

回答

2

取决于图像大小 - 如果查询的返回结果将超过1 MB(活页夹限制),则必须将它们存储为文件并仅将URI存储在dbs中。

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

+0

正确..取决于大小和要求 –

0

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

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

然后你的应用程序可以在你的数据库

例如对它们的引用

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

相关问题