我创建了一个原型UITableViewCell
,并用包含图像路径和单元格标签文本字符串的字典填充它。我使用与UITableViewCell
的{{1}}相同的图片尺寸,就像我的应用中的较大图片视图一样,并且有些图片相当大..就像是300w x 800h和300 kb尺寸。因此每个单元的总加载量约为500 kb。因此,当我运行应用程序时,在第一个向下滚动UITableView时(创建单元格时),我在滚动时会遇到延迟。
如果我这样离开,它会通过App Store审核还是可能会被拒绝?听说过任何案件?
我知道我可以为UITableViewCell制作一些较小的图像。那么,UIImageView
(较老的iphone和视网膜)的首选像素尺寸是多少? (或者UIImageView
可能有最大kb加载限制吗?)
如果你要说44分和88分,研究告诉我这是 UITableViewCell
本身的默认高度,什么也没得到与UITableViewCell
维度有关,或者如果有的话,则为kb限制..
最后:还有其他(苹果批准的方式)避免滞后吗?就像在滚动开始之前创建单元格一样,还是什么?
答案 0 :(得分:1)
尝试使用LazyLoading。如果图像来自服务器。这是滞后(延迟)的主要问题,因为hte单元被重用所以每当你滚动它每次加载图像。
此外,由于您已经说过图像非常大所以请尝试将图像转换为更小的尺寸。 图像的大小未预定义为44或88或任何其他内容。我们可以根据单元格的高度设置大小。
修改强>
正如Kristoffer所说,图像来自他的主要捆绑而不是来自服务器
您可以尝试更改cellForRowAtIndexPath
行
static NSString *CellIdentifier = @"Cell";
与
NSString *CellIdentifier = [NSString stringWithFormat:@"Cell%d%d",indexPath.row,indexPath.section];
不确定它是否会起作用。但它将停止重复使用单元格。因此,您的单元格不会重新加载单元格中已加载的图像。