iOS7:Multi-UITableview渲染延迟

时间:2015-06-10 09:48:06

标签: ios objective-c iphone uitableview nsoperationqueue

我在viewcontroller应用中有一个universal,其中包含5个coloumns(UITableview)。最初,我从CoreData获取数据,然后将其分类为5 NSArrays。之后,我通过以下代码调用所有5 UITableViews重新加载。

    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [_tvLeftMost reloadData];
    }];
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [_tvLeft reloadData];
    }];
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [_tvCenter reloadData];
    }];
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [_tvRight reloadData];
    }];
    [[NSOperationQueue mainQueue] addOperationWithBlock:^{
        [_tvRightMost reloadData];
    }];

IOS7&8(iPAD3)上,数据在0.5秒内被提取。但重新加载表在iOS8上需要5秒,在iOS7上需要20秒以上。 UITableView's单元格并不复杂,只涉及本地UIImage&一个UILabel。如何减少iOS7上的渲染时间?

1 个答案:

答案 0 :(得分:0)

尝试以下面的方式重新加载UITableView -

dispatch_async(dispatch_get_main_queue(), ^{
    [self.tableView reloadData];
});

如果你的UITableView从web url加载图像,那么它必须是异步图像加载。请查看this教程以获取异步图像加载。