Iphone UITableView/UIScrollView滚动优化/性能
我正在开发一个iPad应用程序,在这个应用程序上我有一个非常大的UITableView(大约10倍的屏幕宽度和高度),上面有一个UIScrollView,我可以水平滚动 在每个UITableViewCell中,我添加了不同数量的UIView。我的问题是滚动性能非常差。所以我在谷歌上搜索了一个解决方案,但没有找到任何适合我的问题 我认为问题是,当滚动完成时,整个屏幕被重新绘制,但我不知道如何限制这一点 有人能提供解决方案吗Iphone UITableView/UIScrollView滚动优化/性能,iphone,ios,uitableview,uiscrollview,Iphone,Ios,Uitableview,Uiscrollview,我正在开发一个iPad应用程序,在这个应用程序上我有一个非常大的UITableView(大约10倍的屏幕宽度和高度),上面有一个UIScrollView,我可以水平滚动 在每个UITableViewCell中,我添加了不同数量的UIView。我的问题是滚动性能非常差。所以我在谷歌上搜索了一个解决方案,但没有找到任何适合我的问题 我认为问题是,当滚动完成时,整个屏幕被重新绘制,但我不知道如何限制这一点 有人能提供解决方案吗 谢谢。您需要保持单元的可重用性,并且只在可见区域加载所需的视图。与我们延迟
谢谢。您需要保持单元的可重用性,并且只在可见区域加载所需的视图。与我们延迟加载图像相同。您需要保持单元格的可重用性,并且只加载可见区域中所需的视图。就像我们延迟加载图像一样。提高性能的简单关键不是在
cellforrowatinexpath
中执行耗时的任务
您可以使用许多技巧来提高性能。例如,在后台线程中加载视图
这描述了各种技巧。提高性能的简单关键是不要在
cellforrowatinexpath
中执行耗时的任务
您可以使用许多技巧来提高性能。例如,在后台线程中加载视图
这描述了各种技巧。您需要执行UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“MyIdentifier”];恢复牢房。如果您还没有: 在你的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法,您需要:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];
}
看看苹果的文档
希望这有帮助。您需要执行UITableViewCell*cell=[tableView dequeueReusableCellWithIdentifier:@“MyIdentifier”];恢复牢房。如果您还没有: 在你的
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法,您需要:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];
}
看看苹果的文档
希望这有帮助。您能提供一些其他信息吗?链接还是示例?谢谢看下面的例子,你会知道如何实现它,你能提供一些额外的信息吗?链接还是示例?谢谢看一看下面的例子,你会知道如何实现它,当我不在cellForRowAtIndexpath中时,我应该在哪里绘制单元格的视图?你可以惰性地加载它。我的意思是把它放在一个后台线程中。缓存它以备下次使用。这里的要点是,当您在cellForRowAtIndexPath中执行繁重的任务时,您肯定会面临性能问题。SO链接包含许多提高性能的技巧。当不在cellForRowAtIndexpath中时,我还应该在哪里绘制单元格视图?您可以延迟加载它。我的意思是把它放在一个后台线程中。缓存它以备下次使用。这里的要点是,当您在cellForRowAtIndexPath中执行繁重的任务时,您肯定会面临性能问题。SO链接包含许多提高性能的技巧。