具有数百个全屏图像的 UIImageView
Posted
技术标签:
【中文标题】具有数百个全屏图像的 UIImageView【英文标题】:UIImageView with hundreds of fullscreen images 【发布时间】:2010-11-08 21:26:27 【问题描述】:我有问题。我有一个 UIImageView 和 144 个全屏图像(960x640)。我有一个定时器,它每秒将 15 张图像加载到 UIImageView 中。最后,图像像电影一样播放。一切正常,但我收到 iphone4 内存警告。我只有一个保存图像文件路径的数组。需要显示的图片是用initWithContentsOfFile加载的。
在我看来,我使用 UIImageView 做得最好。但正如我所说,我收到内存警告,即使在 iphone4 上也似乎有点慢。
我想更好的方法是使用 cocos2d/openGL 或 Core Animation。但我不知道从哪里开始。它必须快速(良好的性能)并且内存占用量应该尽可能小。
希望有人能指出我正确的方向。
提前谢谢
【问题讨论】:
为什么不将图像编码成视频并播放视频? 因为我必须在某些帧上添加附加信息。并且应该可以通过手指的触摸和拖动来实现向前和向后、慢和快播放。 @Evan Mulawski 你的建议可能对我有用。在哪里可以找到更多信息? 【参考方案1】:您可能想在这里偷看:best way to load an image library of iphone nsmutablearray (600+ items)
我不久前进行了一些测试,以完成听起来与您正在做的事情相似的事情。
【讨论】:
【参考方案2】:这会有帮助吗?
http://appsamuck.com/day2.html
// create the view that will execute our animation
UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
// load all the frames of our animation
campFireView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"campFire01.gif"],
[UIImage imageNamed:@"campFire02.gif"],
[UIImage imageNamed:@"campFire03.gif"],
[UIImage imageNamed:@"campFire04.gif"],
[UIImage imageNamed:@"campFire05.gif"],
[UIImage imageNamed:@"campFire06.gif"],
[UIImage imageNamed:@"campFire07.gif"],
[UIImage imageNamed:@"campFire08.gif"],
[UIImage imageNamed:@"campFire09.gif"],
[UIImage imageNamed:@"campFire10.gif"],
[UIImage imageNamed:@"campFire11.gif"],
[UIImage imageNamed:@"campFire12.gif"],
[UIImage imageNamed:@"campFire13.gif"],
[UIImage imageNamed:@"campFire14.gif"],
[UIImage imageNamed:@"campFire15.gif"],
[UIImage imageNamed:@"campFire16.gif"],
[UIImage imageNamed:@"campFire17.gif"], nil];
// all frames will execute in 1.75 seconds
campFireView.animationDuration = 1.75;
// repeat the annimation forever
campFireView.animationRepeatCount = 0;
// start animating
[campFireView startAnimating];
// add the animation view to the main window
[self.view addSubview:campFireView];
【讨论】:
不,那几乎和我一样。但我在内存中只有当前图像,而不是整个图像。 但是它会给你同样的内存警告吗?以上是关于具有数百个全屏图像的 UIImageView的主要内容,如果未能解决你的问题,请参考以下文章