gpt4 book ai didi

iphone - 仪器优化 UIImageView

转载 作者:行者123 更新时间:2023-12-03 20:27:35 25 4
gpt4 key购买 nike

我正在使用以下代码加载一堆 UIImage(本地的并随应用程序预加载的):

NSString*plistPath = [[NSBundle mainBundle] pathForResource:@"images" ofType:@"plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];
NSMutableArray *finalArray = [[NSMutableArray alloc] initWithCapacity:array.count];
for(int i=0;i<array.count; i++) {
[finalArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%@",[array objectAtIndex:i]]]];
}

然后在collectionView中:

cell.cellImage.image = [finalArray objectAtIndex:indexPath.row];

该 collectionView 的呈现存在巨大的滞后。我通过以下仪器屏幕截图捕捉到了这种延迟:

enter image description here

该延迟(用户体验并如图所示)与下面的实际调用树之间存在重大脱节,该调用树没有显示任何延迟。我正在 collectionView 的每个单元格中加载 500k jpg。这个 Instruments 分析基本上是说我在代码中无能为力,这是系统库延迟吗?

编辑:我的问题不再是关于我的 collectionView 的这个特定用例。一般而言,这是关于仪器的。如果我在屏幕截图中选择了选项,并且应用程序显示出明显的延迟,但时间分析器没有,那么我可以在代码中做些什么来提高速度吗?我想我更普遍地询问时间分析器、设置及其结果。如果所有延迟都归因于较低级别的代码或系统框架,我可以采取什么措施吗?

最佳答案

您已在右侧设置面板中启用了隐藏系统库复选框,因此它将隐藏对您未定义的方法的任何调用。例如,如果您对 imageNamed: 进行大量调用,并且选中了此复选框,则您将看不到系统解压缩和加载这些图像所需的时间。

所以从技术上来说,所有的“滞后”/缓慢都在系统框架中,但改变它们的使用方式是在你的控制之中。您还可以监控系统框架中的哪些操作在时间上最昂贵。

取消选中此框是解决方案:

Uncheck this box

关于iphone - 仪器优化 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713422/

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