2013-03-07 96 views
3

在我的项目中,我每秒拨打NSTimer 1000次。与此同时我在UIViewanimation的同一时间在一些图像视图中为每个水龙头分配5个UIImage对象。当我正在做这项工作时,NSTimer冻结了几秒钟或延迟。我知道它为什么会发抖,因为我在一秒钟内制作了更多的100-120 UIImageView对象。当我不打电话给UIAnimation时,定时器很好。我用[performSelectorInBackground:withObject:]在后台执行UIViewAnimation,但在其中UIAnimation不起作用。当用UIViewAnimation调用时,NSTimer会冻结

NSTimerUIViewAnimation都在使用UI.so,它们正在处理主线程。我无法为他们制造不同的线索。我能做些什么来阻止NSTimer的冻结,并在同一时间呼叫UIViewAnimation。这是因为计算量大。我不能为此做出独立的线索,我该怎么做才能做到这一点。

谢谢

回答

0

这可能是因为您在UIImageView中用于动画的PNG图像而发生的。

为什么不尝试使用JPEG表示

UIImage *newImage=[UIImage imageWithData:UIImageJPEGRepresentation(myImage, 0.5)]; 

然后用newImage,因为这将有大小小于一个为png。

+0

没有它不工作........ – chakshu 2013-03-07 07:48:33

+0

请任何人能帮助我吗...... – chakshu 2013-03-07 12:29:30

+0

具有u尝试使用调度队列 – BhushanVU 2013-03-07 12:30:57

相关问题