UIScrollview 内存释放问题

来源:互联网 发布:magnet关联的软件 编辑:程序博客网 时间:2024/04/29 13:51

定义一个UIScrollview后往里面添加多张图片使其滑动显示,可以这么写:

IBOutlet UIScrollview *parkScrollView;


[cpp] view plaincopy
  1. parkScrollView.contentSize=CGSizeMake(1024*3, 768);  
  2.     for (int i=0; i<4; i++) {  
  3.         NSString *imgName=[[NSString alloc]initWithFormat:@"m_side0_%d",i];  
  4.         UIImage *img1=[[UIImage alloc]initWithContentsOfFile:[[NSBundle mainBundle]pathForResource:imgName ofType:@"png"]];  
  5.         UIImageView *imgView1=[[UIImageView  alloc]initWithFrame:CGRectMake(1024*i, 0, 1024, 768)];  
  6.         [imgView1 setImage:img1];  
  7.         [parkScrollView addSubview:imgView1];  
  8.         [imgName release];  
  9.         [img1 release];  
  10.         [imgView1 release];  
  11.     }  

这么写确实达到效果了,但是,每当执行这段代码时,scrollview里面就会add几个ImageView,它是一直占用着系统内存.

有一个解决办法是,得到里面的ImageView,分别把他们remove掉,再执行添加操作.


[cpp] view plaincopy
  1. int l=[parkScrollView.subviews count];  
  2.     UIView *subview;  
  3.     while (l>0) {  
  4.         subview=[parkScrollView.subviews  objectAtIndex:0];  
  5.         [subview removeFromSuperview];  
  6.         l=[parkScrollView.subviews count];  
  7.     }  
原创粉丝点击