0

这两个表达式可以同时为真吗?holder.getSurface().isValid() == true; 和 canvas = holder.lockCanvas() canvas == null;

4

1 回答 1

1

从参考资料:

isValid() - 这个对象是否拥有一个有效的表面?如果它拥有一个物理表面,则返回 true,因此 lockCanvas() 将成功。

因此,如果 lockCanvas() 成功,它将返回一个非空画布。

但是你不应该直接访问 Surface (你需要同步),surfaceChanged你只能在 canvas 不为空时调用canvas = holder.lockCanvas()和绘制。

于 2012-09-26T07:02:12.483 回答