UITableView 加载图片 卡的问题
UITableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return 100;
}
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString * cellID = @"cellID";
UITableViewCell * cell = [tabView dequeueReusableCellWithIdentifier:cellID];
if( nil == cell )
{
cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID] autorelease];
}
{
UIImageView * goodsImageView;
goodsImageView = [[[UIImageView alloc] initWithFrame:CGRectMake(10.5, 14, 297.5, 209)]autorelease];
goodsImageView.opaque = YES;
[cell.contentView addSubview:goodsImageView];
goodsImageView.image = [UIImage imageNamed:@"img_topic"];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
图片并不是从网上下载的 ,刚开始的时候滚动还挺流畅的,但是滚动了 一段事件后,没有刚开始这么流畅了,特别是在减速的时候,可以看到一卡一卡的现象
应该如何解决?
[解决办法]
为啥不自定义cell呢,直接在xib中加入图片不可以吗?
我在做的时候没遇到卡的现象
[解决办法]
首先,100行肯定会卡一点的,少加载一点会好些。
其次,这里还是用自定义UITableViewCell吧,你这样也会影响效率。
像你这样,重用机制几乎没起到应有的效果。
再者,图片如果预先加载好了,比如UIImage都先加载好放到内存里,比如NSArray,用的时候直接拿出来用,不要临时从资源或目录中加载,也会快点。
[解决办法]
UIImageView * goodsImageView;
goodsImageView = [[[UIImageView alloc] initWithFrame:CGRectMake(10.5, 14, 297.5, 209)]autorelease];
goodsImageView.opaque = YES;
[cell.contentView addSubview:goodsImageView];
}
goodsImageView.image = [UIImage imageNamed:@"img_topic"];//依据你对应行对应图片,设置
这样就不会了。
问题:没有充分理解tablecell的实现机制,建议仔细阅读uitableview 的文档。
[解决办法]