在我的Android应用程序中,我绘制了很多矩形,行&圆弧 ,这些在用户操作中经常发生变化。如何优化我的代码在画布上绘图
现在我所做的是在onDraw()方法 中创建我的Paint对象,以使它们保持局部变量并且不会导致任何内存问题。
但在代码审查期间,这被指出是一个错误。 我被告知这可能会减慢画布上的绘图,因为每次调用onDraw()时都会调用new()。所以我被要求将Paint对象作为类变量,只初始化它们一次,并且只改变它们在onDraw()中的属性,并在屏幕关闭/销毁时进一步取消它们。
我想问一下,这是正确的做法还是事情已经变好了,因为我没有在屏幕上发现UI太慢,我怀疑这可能是不必要的改变。
请提供建议。
有什么样的滞后? – Ankit
好吧,无论何时你做一个'new',都有一段时间来构造这个变量。如果该变量是一个成员变量,并且已经构造过一次(比如在'onCreate()')中,那么这段时间已经用完了。简单地改变'mPaint'的属性就不会有太多的CPU周期了(我没有硬性的数字,但我认为这是半明显的......我希望!) –