创建CAGradientLayer会将新的子图层添加到视图的现有图层(public class DoWhileLoop {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Random rand = new Random();
int num = rand.nextInt(10);
Boolean correct = false;
int attempts = 0;
do{
if (attempts == 3) {
System.out.println("rerun the program");
break;
}
System.out.println("Enter number 1-9");
int ans = in.nextInt();
if (ans == num) {
correct = true;
System.out.println("Correct! the number is: " + ans);
} else {
attempts++;
}
}while(!correct);
}
}
为shouldRasterize
)。而CGGradient正在true
方法中绘制视图。
使用一个相对于另一个有主要的速度优势吗?
答案 0 :(得分:0)
SNMPv3 architecture中有一个关于Core Graphics的注释,其中提到了两者之间的区别。事实证明,两者的呈现方式之间存在很大差异,请注意:
使用Core Graphics绘制静态视图通常足够快,但是 如果视图四处移动或需要频繁重绘,则应使用 核心动画层。优化了Core Animation,以便GPU, 不是CPU,而是负责大部分处理。相比之下,CPU 处理由核心图形在draw(_ :)中执行的绘制。
这是一个一般性注释,这也适用于CALayer
和draw(_:)
。