我的项目中有一个小要求我想在没有互联网时显示图像。我从我的网络服务器上获取图像。我正在使用ImageLoader / Glide将图像URL加载到我的ImageView对象,并且我将其缓存以在离线状态下显示图像一切正常,但是当我删除图像或有新图像时,我有清除缓存,然后再次加载图像。当我进行这个过程的时候它会工作一些它没有...所以我想为什么不将图像转换为blob。我已将所有内容转换为blob格式并立即在线存储。
我在这里有两个问题:
blob和转换blob的图像格式可以让加载图像更快地离线观看吗?
我应该在Json数组中的String中发送blob并将其转换为blob并保存它,或者因为我已经有了imageURL,所以在我的手机上转换URL并将其保存为本地数据库中的blob格式会更快吗?
有人可以针对上述要求提出您的想法吗?
谢谢!
答案 0 :(得分:0)
根据this test,使用blob的性能取决于sqlite的大小和配置。
仅限BLOB服务器端或客户端
所以我想为什么不把图像转换成blob。我已经改变了 一切都变成blob格式并立即在线存储。
无需在服务器端转换硬盘。如果您一如既往地下载图像文件,则可以读取内容,然后将其作为blob存储在数据库中。然后无需保存图像文件。
您可以通过让服务器在一次调用中返回所有内容而不是为每个映像调用服务器(使用请求到达服务器所花费的时间)来缩短总下载时间。处理所有数据时,成本就是内存。
传输失败的可能性总是让我选择发出多个请求而不是唯一的请求,我宁愿有一个损坏的图像而不是整个同步操作。它更易于检测和恢复。
BLOB vs文件
我尝试过使用blob一次,然后回到我一直以来做的事情。下载文件,将其保存在文件夹中并将URL保存在数据库中。我不喜欢的各种原因几乎都是纯粹主观的
我从未使用过库这样的操作,所以我从来没有遇到过这个问题/限制。如果您更喜欢使用库,我建议您测试另一个库。