我正在我的i垫上尝试我的代码并且它崩溃了。设备日志上没有任何内容,但未知类型和未知进程。所以我做了挖掘。我认为这是一个记忆问题。我发现我无法在水平滚动视图上添加这么多图像。我有100多个。
这是我的代码
for(int index=0; index < 166; index++)
{
UIImageView *imgscv = [[UIImageView alloc] init];
imgscv.bounds = CGRectMake(0, 0, 200, 250);
imgscv.frame = CGRectMake(5+xOffset, 5, 200, 250);
imgscv.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.jpg",index-1]];
[images insertObject:imgscv atIndex:index];
scrollview.contentSize = CGSizeMake(scrollWidth+xOffset,110);
[scrollview addSubview:[images objectAtIndex:index]];
xOffset += 205;
}
当我将for循环中索引的上限更改为16时,一切都很好。那就是它吗?有限制吗?您可能建议的任何修复或替代方案?
答案 0 :(得分:0)
为什么不加载scrollview的可见部分,然后使用
- (void)scrollViewDidScroll:(UIScrollView *)sender
回应并在滚动后在那里画出其他人。会节省很多性能