我正在编写一个使用许多图像(数十个)的 android 应用程序。这些图像与应用程序中的大多数其他数据一样,都是从远程数据库更新的。对于数据,我将拥有一个本地数据库,并在每次更新远程数据库时将其与远程数据库同步。
远程数据库会将图像存储为 URL,我的应用程序将从这些 url 下载图像以在应用程序中显示它们。所以我可以让我的本地数据库与远程数据库同步,我将拥有我正在使用的所有图像文件的 URL,我可以在每次运行应用程序时从远程服务器重新下载它们,但这显然是速度慢,浪费大量数据。
我想要做的是,每次更新数据库并需要同步时,应用程序都会像往常一样同步其本地数据库并从其 URL 下载新图像,但随后它将图像文件保存在设备上的某个位置,所以下次运行应用程序时,它可以从设备中获取图像。
我似乎找不到这样做的有效方法,也许是因为首先这样做是个坏主意?Sharepreferences 可能没有足够的空间,外部存储并非一直可用,而且我听说在本地数据库中存储大量二进制数据(例如图像)是个坏主意。
我在这里有什么选择?