作者:墨尔本晴上残留的余温丶_856 | 来源:互联网 | 2023-05-27 09:39
我想缓存一些我在Android应用程序中下载的图像.缓存的工作方式是 - 图像映射到图像名称.因此,我可以使用缓存的图像,直到图像名称更改.
SharedPreference
看起来似乎是最好的选择,因为它提供了一个内置选项来以键值对的形式存储.关键是图像名称和值是图像的base64
格式.但我读到这是一个不好的做法.为什么?如果我将它存储在外部文件中,我将不得不实现键值对的机制(它在共享首选项中内置).
什么应该是正确和快速的方法,为什么?
1> Gabe Sechan..:
这是一个可怕的想法.Base 64是存储二进制数据的低效方式.你有一个文件系统 - 使用它.此外,SharedPreferences并不意味着存储那么多数据,当您在首选项中读取或写入任何其他数据时,它会导致令人难以置信的减速.
合理的是将位图存储在文件中,并将文件的名称存储在共享首选项中.这为您提供了键值查找,而没有膨胀的大小或解析将其存储在共享首选项中的低效率.
Base64真是一个非常丑陋的黑客.它是在您放入丑陋的黑客并尝试在基于文本的界面中存储二进制数据时使用的.如果您需要使用它,这意味着您正在尝试将技术用于从未打算做的事情,并且应该停止.