gpt4 book ai didi

iOS PFBatchFaultingArray - 导致糟糕的 UITableView 性能(?)

转载 作者:行者123 更新时间:2023-11-28 22:34:30 29 4
gpt4 key购买 nike

我在我的一个应用程序中将 Core Data 与 NSFetchResultController 结合使用。我正在寻找提高性能的方法,我遇到的一个问题是我的 UITableViewController。这有点粗鲁。我使用了 Instruments Time Profiler 并发现了以下内容:

enter image description here

它似乎是从以下方法调用的:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
[...]
Post *cellPost = [self.fetchedResultsController objectAtIndexPath:indexPath];
[...]
}

请问有什么办法可以解决吗?还是其他原因导致了性能问题?

最佳答案

PFBatchFaultingArray 是一种你从执行一个配置为 [fetchRequest setFetchBatchSize:20]; 的获取中得到的数组。 (或任何大于 0 的数字)。它就像一个常规数组,但它的 -objectAtIndex: 方法实际上会在需要时从磁盘中获取一组 fetchBatchSize 编辑的对象。这可能很慢,但它确实保持了低内存使用率,因为只有 fetchBatchSize 许多对象实际上需要在内存中,而不是 [array count] 许多。

您可以尝试将您的提取请求配置为批量大小为 0,以禁用此功能。只需确保您可以在内存中放入所有需要的对象即可。

不过,优化您应用的 Core Data 性能可能涉及的不仅仅是一项更改!有一个很好的技术概述 Core Data Best Practices (2012 WWDC session) .

关于iOS PFBatchFaultingArray - 导致糟糕的 UITableView 性能(?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16470735/

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