我从服务器获取图像并将其显示在App的封面屏幕上。在我获取图像后,我将其作为Base64字符串存储在UserDefaults中。每次我打开应用程序时,我再次将base64字符串转换为Image并将其显示为背景图像。通常图像大小为1-2mb,格式为png。但是,我不确定它是否会在内存方面存在问题(转换为base64,反之亦然)。
1-)每次App打开时将base64转换为图像会导致性能方面的任何问题(内存泄漏)吗?
2-)有没有更好的存储图像文件的方法?
答案 0 :(得分:1)
步骤1:不要来回转换为base64。正如马特所说,没有理由这样做。您的各种存储选项支持二进制数据,因此将其直接存储为二进制数据。 (Data
,甚至,因为有方法可以将数据对象写入各种格式的文件。)
步骤2:不要在UserDefaults
中存储大型对象。 UserDefaults
旨在存储交换机设置等小内容。而是使用Documents或Caches目录中的文件。