在UserDefaults中将图像存储为base64的内存性能

时间:2018-02-08 12:59:15

标签: ios swift image uiimage base64

我从服务器获取图像并将其显示在App的封面屏幕上。在我获取图像后,我将其作为Base64字符串存储在UserDefaults中。每次我打开应用程序时,我再次将base64字符串转换为Image并将其显示为背景图像。通常图像大小为1-2mb,格式为png。但是,我不确定它是否会在内存方面存在问题(转换为base64,反之亦然)。

1-)每次App打开时将base64转换为图像会导致性能方面的任何问题(内存泄漏)吗?

2-)有没有更好的存储图像文件的方法?

1 个答案:

答案 0 :(得分:1)

步骤1:不要来回转换为base64。正如马特所说,没有理由这样做。您的各种存储选项支持二进制数据,因此将其直接存储为二进制数据。 (Data,甚至,因为有方法可以将数据对象写入各种格式的文件。)

步骤2:不要在UserDefaults中存储大型对象。 UserDefaults旨在存储交换机设置等小内容。而是使用Documents或Caches目录中的文件。