gpt4 book ai didi

ios - 图像的核心数据性能问题

转载 作者:行者123 更新时间:2023-12-01 18:17:33 25 4
gpt4 key购买 nike

我在Core Data中获取和保存图像时遇到性能问题。

我有一个包含用户个人资料的核心数据实体。 Profile包含用户的一张照片以及他的其他详细信息,例如姓名,地址等。

例如,实体中的一行如下所示。

名称,地址,图像,详细信息

如果我删除图像,一切都会快速进行。添加图像后,每行大约需要1到5秒才能检索到。时滞取决于用户上传的图像的大小(我使用Instruments验证了有无图像所花费的时间)。

我将图像存储为“可变形”。

我尝试通过将图像存储为二进制数据并使用UIImagePNGRepresentation来解决此问题。但是,问题变得更糟。

如何解决此性能问题?由于应用程序的设计,我想将图像保留在Core Data本身中。

最佳答案

Zaph的答案还可以。如果图像很大,则应将其保存在文件系统中,并仅使用Core Data来保存有关它们的元信息。

在下面的讨论Core Data - Storing Images (iPhone)中可以找到确定多大图像的经验法则。 Marcus Zarra描述了做出正确决定的三个主要标准。另一个重要的讨论可以在Storing UIImage in Core Data with the new External Storage flag中找到。

从iOS 5开始,启用外部存储标志后,Core Data会根据每个值试探性地决定是将数据直接保存在数据库中还是将URI存储到由它管理的单独文件中。 (Apple资料来源)。

基于此,您的应用程序有什么要求?为什么需要在核心数据中维护图像?

您还应该考虑将图像维护在一个单独的实体中,但是我真的建议如果可能的话将它们存储在文件系统中。例如,使用外部存储机制,由于Core Data可以为您管理性能,因此可以优化性能。我的意思是,苹果工程师在后台做了很多工作。这样您就可以信任他们。 ;-)

关于ios - 图像的核心数据性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20302436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com