Ios 在Objective-c中设置块动画而不消耗内存

Ios 在Objective-c中设置块动画而不消耗内存,ios,objective-c,uiview,calayer,quartz-2d,Ios,Objective C,Uiview,Calayer,Quartz 2d,我正在制作一个进度指示器,它的背景是在UIView的不同图层上绘制的几个正方形。我正在尝试设置这些正方形的动画,以便它们在不透明度中淡出。想象一下数字方块,就像你的有线电视盒坏了,但却在淡入淡出 有没有更好的方法,然后使用CAAnimations和设置每个CALayer不透明度,就像这样 innerImage.layer.opacity = randomNum; 我尽量避免使用太多的内存。UIKit是对核心动画的抽象(有CALayer和CAAnimation)。因此,将属于UIKit的UIVi

我正在制作一个进度指示器,它的背景是在UIView的不同图层上绘制的几个正方形。我正在尝试设置这些正方形的动画,以便它们在不透明度中淡出。想象一下数字方块,就像你的有线电视盒坏了,但却在淡入淡出

有没有更好的方法,然后使用CAAnimations和设置每个CALayer不透明度,就像这样

innerImage.layer.opacity = randomNum;

我尽量避免使用太多的内存。

UIKit
是对核心动画的抽象(有
CALayer
CAAnimation
)。因此,将属于
UIKit
UIView
与属于
CoreAnimation
CAAnimation
进行比较有点缺陷

不看代码就很难说内存使用情况。但除非你犯了一些错误,否则它应该对你的应用程序的内存性能几乎没有影响

UIKit
CoreAnimation
层被大量缓存。因此,一旦渲染动画,框架将重用缓存的视图以加快性能。此外,所有CoreAnimation都在GPU上运行,并带有自己的处理器和内存寄存器。对于这个框架来说,进度条应该是轻而易举的。我做了很多更复杂的事情,框架几乎没有出一点汗。希望这有助于


检查这个非常有用的链接-

如果你正在做的事情太重。。。您可以尝试实现“只是”这种行为,使用覆盖层。。。也许把它分成10个独立的级别,然后缓存对象。。。如果这不起作用,在OpenGL中尝试一下……您是否已经尝试过这个方法并测量了它使用的内存?也许要等到有了真正的理由再进行优化。