根据[Canvas.drawVertices Javadoc](http://developer.android.com/reference/android/graphics/Canvas.html#drawVertices(android.graphics.Canvas.VertexMode,int,float [],int) ,float [],int,int [],int,short [],int,int,android.graphics.Paint))将null
作为Paint传递是有效的,如果texs
参数也是如此是null
。
paint 指定texs数组为非null时使用的着色器
使用drawVertices
调用null
方法进行绘制时,这将导致空指针异常。
答案 0 :(得分:1)
因为内部调用
nativeDrawVertices(mNativeCanvas, mode.nativeInt, vertexCount, verts,
vertOffset, texs, texOffset, colors, colorOffset,
indices, indexOffset, indexCount, paint.mNativePaint);
如果paint为null,和paint.mNativePaint
将导致NullPointerException。该医生忘了告诉你,这里的油漆不能为空:)
同样绘制没有绘画的顶点似乎不合逻辑,因为paint定义了线型等。文档没有说明paint is optional
。