我在画布上画了一个椭圆形:
RectF f = new RectF(-r, -r, r, r);
canvas.drawOval(f , mPaint);
Run Code Online (Sandbox Code Playgroud)
为什么我在RectF上看到警告?
在绘制/布局操作期间避免对象分配(预分配和重用)
Ted*_*opp 14
它就是它所说的:每次绘制任何东西时,做一个new RectF内部onDraw会创建一个对象.这可能是很多对象.只需使用一个RectF:
RectF mRect = new RectF();
protected void onDraw(Canvas canvas) {
mRect.set(-r, -r, r, r);
canvas.drawOval(mRect, mPaint);
}
Run Code Online (Sandbox Code Playgroud)
需要明确的是:您的原始代码在逻辑上是正确的.这只是性能提升(尽管很重要).
| 归档时间: |
|
| 查看次数: |
4094 次 |
| 最近记录: |