在绘制/布局操作期间避免对象分配(预分配和重用)。如何避免这种警告。

时间:2014-03-13 11:29:46

标签: android

我正在尝试在画布中间制作一个小矩形,但我没有得到任何矩形而是eclipse正在显示警告"Avoid object allocations during draw/layout operations (preallocate and reuse instead)"这是什么样的警告以及可能是什么原因导致没有矩形。

Rect middleRect=new Rect();
middleRect.set(0,400,canvas.getWidth(),550);
Paint ourBlue = new Paint();
ourBlue.setColor(Color.BLUE);
canvas.drawRect(middleRect,ourBlue);
invalidate();

1 个答案:

答案 0 :(得分:0)

对于警告,eclipse正在通知您在onDraw()方法中改进对象初始化

Rect middleRect=new Rect();
Paint ourBlue = new Paint();

更好的方法是在类级别声明这些对象并在构造函数中初始化它们,然后在onDraw方法中调用drawXxx()。