我正在开发Android应用程序,但我需要一些帮助。 我需要以高分辨率(1024x768和每个大约2.5 MB)存储大约2000个图像,并且应用程序必须脱机工作,这样我才能从在线数据库或其他任何地方检索它们。这些图片应存储在应用程序内的SQLite数据库中,因为它们中的每一个都与特定产品相关。
我试图将图片转换为Base64字符串,但结果太大而且应用程序崩溃了。它只有在大约467x300和30 KB的情况下才有效,但是它的质量都不尽相同,所以这不是一个好的解决方案。
希望您有有用的建议。谢谢。
答案 0 :(得分:1)
通常解决此问题的方法是不将图像存储在数据库中,而是在数据库中存储它们的链接。如果您希望它们是私有的,请将它们存储在私有应用程序存储位置。从数据库获取图像很棘手,编辑这样的二进制blob可能很棘手。它可能会导致数据库出现问题,从而导致速度变慢。此外,从文件加载图像比从数据库加载图像更容易。
此外,您可以使用BLOB,它允许存储二进制数据。 SQLite支持,所以......
答案 1 :(得分:0)
以下是我处理高分辨率图像的方法:
我很高兴提供一个代码示例,请告诉我。