我有一个RoundRectShape
是在绘制View
的onDraw()
函数。
该形状的角部通过在该视图中任何拖动操作通过一个重写改性onTouchEvent
函数(它调用invalidate()
来强制调用onDraw()
当初始化变量onDraw
,Eclipse将显示一个警告说, 在抽吸/布局操作避免对象分配(预分配和重用代替)。
这个问题解释如下:
你应该避免图纸或布局操作过程中分配对象。 这些被频繁调用,所以顺利UI可以通过该物体引起的分配垃圾收集暂停中断。
这通常是所处理的方法是将分配对象前面,并重新使用它们对于每个描绘操作
要做到这一点显然我必须能够修改圆角半径在构造函数中设置。 该RoundedRectShape类提供的setter(和我敢肯定相关的成员变量是不可访问)。
我知道这是一个小物件和一个小问题,但我怎么可以改变这些角不重新初始化对象时,类为设定圆角半径的唯一方法是通过构造?
或者这只是其中做的最好的事情将要与做什么是可能被替换的情况下?
谢谢,
PS调用构造中onTouchEvent()
方法将删除警告,但实现绝对没有因事实上onDraw()
被调用,通过每一次invalidate()
反正