繁体   English   中英

内存管理

[英]Memory Management

我需要所有人的澄清,那就是我正在实现iPad应用程序。 为此,我尝试下载图像并制作动画。 图片数量应超过100,000。我用来下载并添加到视图中的代码如下。

UIImageView* imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0,100,100)];
NSData *receivedData=nil;
receivedData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://path/prudently/iphone/image_s/e545afbf-4e3e-442e-92f9-a7891fc3ea9f/test.png"]];
imageView.image = [[UIImage alloc] initWithData:receivedData] ;
[subView addSubview:imageView];
[imageView release];

但是,在成功将8000多个图像添加到子视图之后,出现异常。 我从URL获取数据时出现异常。 还有一件事,我不释放该子视图,因为一旦下载它们,我就需要为该子视图制作动画。

请给我您的建议

谢谢Sekhar Bethalam。

对于台式机应用程序而言,100,000张图像似乎很多,更不用说像iPhone这样的智能手机了。 您是否可以采用其他方法来解决不需要大量资源的问题?

您可以将URL,图像或其他内容写入缓存的文件,并划分一些页面以对图像进行动画处理...当用户按下页面链接时,应用程序将对该页面的图像进行读取和动画处理,而用户不希望看到的页面图像不用显示。

完成此操作的唯一方法是根据屏幕上的需要动态创建和销毁UIImageView。 由于设备上的可用内存有限,iPhone / iPad / iAnything无法执行您想要的操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM