所以我正在创建一个自定义视图,我必须经常(60 FPS)并无限地绘制不同的位图来实现动画。
我不能使用AnimationDrawable,这不是重复Drawables的设置循环。
我认为它在自定义视图中就像onDraw()事件一样简单,我会在canvas参数上调用setBitmap()。但是,我得到UnsupportedOperationException。在Canvas上我在onDraw()事件之外创建了自己的setBitmap。
我看到我正在为我的自定义视图隐式使用Canvas的硬件加速实现(GLES20RecordingCanvas)。 setBitmap()方法的实现只是抛出UnsupportedOperationException()。
为什么?
答案 0 :(得分:1)
请看source code:
@Override
public void setBitmap(Bitmap bitmap) {
throw new UnsupportedOperationException();
}
开发人员根本没有实现此方法
请注意GLES20Canvas extends HardwareCanvas
和GLES20RecordingCanvas extends GLES20Canvas