Android画布为空
这两个表达式能同时为真吗? holder.getSurface().isValid()==true; 和 canvas=holder.lockCanvas() canvas==null 参考文献: isValid()-此对象是否包含有效曲面?如果 保存物理曲面,因此lockCanvas()将成功 因此,如果lockCanvas()成功,它将返回一个非空画布Android画布为空,android,canvas,locking,Android,Canvas,Locking,这两个表达式能同时为真吗? holder.getSurface().isValid()==true; 和 canvas=holder.lockCanvas() canvas==null 参考文献: isValid()-此对象是否包含有效曲面?如果 保存物理曲面,因此lockCanvas()将成功 因此,如果lockCanvas()成功,它将返回一个非空画布 但您不应该直接访问Surface(需要同步),在surfaceChanged中,您可以调用canvas=holder.lockCanvas(
但您不应该直接访问Surface(需要同步),在
surfaceChanged
中,您可以调用canvas=holder.lockCanvas()
并且仅在画布不为null时绘制。我是否需要实现SurfaceHolder.Callback并检查surfaceCreated方法中的绘制可能性?SurfaceHolder是异步初始化的,因此,基本上如果你想在其上绘制,你应该有一个SurfaceHolder.Callback(知道它何时准备好),绘制图纸的最佳位置是表面更改
(在表面创建
之后调用)以及提供宽度
、高度
和支架
。