【问题标题】:Why is saving UIImage data to UserDefaults ill advised?为什么不建议将 UIImage 数据保存到 UserDefaults?
【发布时间】:2020-02-27 02:09:06
【问题描述】:

我想知道为什么不建议将用户配置文件图像存储为 Data 到用户默认值。原因是:我已经创建了一个有一些人使用它的应用程序。该应用程序要求用户创建个人资料,最多可以上传 6 张个人资料图片。图片被推送到我的后端,并以Data 的形式存储到应用程序的用户默认设置中。

我读过最好将这些图像保存到文档目录并将文件路径作为字符串保存到用户默认值。为什么会这样?我应该花时间编写代码,将保存为Data 的图像转换为现有设备上的用户默认值,再转换为保存到文档目录中的图像,这有什么大不了的吗?

【问题讨论】:

    标签: swift uiimage nsuserdefaults nsdata nsdocumentdirectory


    【解决方案1】:

    “为什么”很简单。 UserDefaults 不是数据库。它只是一个 plist 文件。整个东西要么立即加载到内存中,要么没有。如果是,则所有 UIImage 数据对象都位于内存中。内存有限,图像很大。另外,您在加载和保存过程中会浪费时间。

    “这有什么大不了”的部分是见仁见智的问题。在我个人看来,是的,是的。那是因为我经历了这个过程,我很高兴我做到了。是的,编写迁移代码很痛苦,但是一旦你完成了,你只需将它留在原处,你的应用现在就可以永远正确地处理数据保存了。

    【讨论】:

    • 感谢马特的回复。我可能会写一些东西来迁移它们,至少它是一种学习体验。
    猜你喜欢
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2021-02-09
    • 2021-04-29
    • 2022-01-18
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    相关资源
    最近更新 更多