我正在考虑如何解决以下问题的体系结构决定:
使用 Unity 开发的移动应用程序会定期从服务器 接收图像。 为了使重新出现图像的重新加载时间更快,我想客户端侧持久地尽可能多地缓存这些图像。 图片无需受到保护,应用程序外部的用户可以查看。 目前,我是通过将下载的图像存储在SD卡上来完成此操作的。 通过这种方法,我有以下担忧:
我想到的一件事是使用 SQLite 存储图像,但是,我了解到,不建议在db中存储很多blob。 我可以存储图像的文件路径,而我的第二个担忧将以这种方式解决,但是第一个问题仍然存在。
无法将图像预打包到资产文件夹中,它们将始终在运行时从服务器接收。
我对我的担忧正确吗?面对这个问题时的最佳做法是什么?
问候和非常感谢,
Codehai
答案 0 :(得分:0)
我不确定许多文件对内存健康的影响,但是我想到了一些建议:
您可以在将图像写入磁盘时对其进行gzip压缩,并在使用前对其进行枪压压缩以减少空间
对于管理旧图像的删除,也许您可以创建一个“垃圾收集”任务,该任务以一定的间隔运行以修剪最旧的照片,以使其位于最大内存占用量以下或强制最大使用期限。图片
使用HTTP缓存和CDN(例如CloudFront)可以最大程度地缩短通过网络请求图像时的响应时间