Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行ios 7的iPhone 4上,空UITableView会缓慢滚动_Ios_Objective C_Performance_Uitableview_Ios7 - Fatal编程技术网

在运行ios 7的iPhone 4上,空UITableView会缓慢滚动

在运行ios 7的iPhone 4上,空UITableView会缓慢滚动,ios,objective-c,performance,uitableview,ios7,Ios,Objective C,Performance,Uitableview,Ios7,好吧,我不知所措。我有一个tableview,在iPhone5/5S中运行良好,但在iPhone4上只能管理4fps。我尝试了书中的每一个技巧来优化单元格(不透明、未对齐的帧、不混合、将uilabels渲染为图像、静态单元格高度等),但它甚至没有移动指针。考虑到根本原因可能在其他地方,我决定去掉所有自定义单元格代码,以便cellforrowatinexpath:返回一个空的(但重复使用的)UITableViewCell,甚至运行速度也很慢。。。我曾尝试在滚动tableview时分析应用程序,但没

好吧,我不知所措。我有一个tableview,在iPhone5/5S中运行良好,但在iPhone4上只能管理4fps。我尝试了书中的每一个技巧来优化单元格(不透明、未对齐的帧、不混合、将uilabels渲染为图像、静态单元格高度等),但它甚至没有移动指针。考虑到根本原因可能在其他地方,我决定去掉所有自定义单元格代码,以便
cellforrowatinexpath:
返回一个空的(但重复使用的)UITableViewCell,甚至运行速度也很慢。。。我曾尝试在滚动tableview时分析应用程序,但没有任何突出的地方。唯一令人怀疑的是,如果打开CoreAnimation的
颜色时显示绿色而未显示红色
,则当我滚动tableview时,状态栏将在绿色和红色之间不断闪烁。这让我相信,状态栏在每一帧(或每两帧)都会被重新绘制,但即使隐藏状态栏也不会显著提高fps(可能是4->7)

所以。。。。我不知所措。有没有人经历过这样的事情,能给我指出正确的方向



下面是我运行时间分析器获得约6 fps的时间:

当我删除系统库时,它是非常无用的。如果我继续滚动几分钟,则
cellForRowAtIndexPath:
的父级百分比将大大超过
didFinishLaunchingWithOptions:
(显然只运行一次)的父级百分比


您在
cellForRowAtIndexPath:
中做什么?这基本上总是解决滚动速度慢的问题。
UITableView
s。尝试使用主详细信息模板创建一个示例项目,看看它是否仍然慢iPhone4@nhgrif我删除了我所有的代码,所以它基本上是对一个可重用单元进行排队并立即返回…你说“基本上”。这就是你真正在做的吗?我投票决定结束“缺乏足够的信息来诊断问题”,直到完整的
cellforrowatinexpath:
实现包含在问题中。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:__inboxCell];
    if (! cell)
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:__inboxCell];
    return cell;
}