设置:
Activity 的布局有一个 SurfaceView 对象 (obj),其中定义了 SurfacHolder 回调。obj 定义了以下线程(这是通过 Xamarin 用 C# 编写的):
void DrawThread() {
Canvas c;
while (drawingThreadActive) {
c=null;
try {
c = this.Holder.LockCanvas(null);
lock(Holder) {
//force redraw
PostInvalidate();
}
} finally {
if (c!=null) {
this.Holder.UnlockCanvasAndPost(c);
}
}
//sleep for 50 ms or so (20Hz refresh)
}
}
SurfaceCreated()
回调被调用就好了,它启动了这个线程。但是,对 PostInvalidate() 的调用永远不会导致onDraw()
函数被调用。
我很确定一切都设置正确-知道我缺少什么吗?
鉴于SurfaceCreated()
调用了该方法,我假设它“在 UI 中可见”
知道我错过了什么吗?