我正在阅读SurfaceView以及如何使用它,我遇到了一些信息,这些信息表明SurfaceView在缺省情况下将View#willNotDraw()设置为false,并且应该由您来调用SurfaceView#onDraw()。我还读到RomainGuy说这是默认的,因为它更有效率。我现在的问题是,什么时候应该在单独的线程中处理调用SurfaceView#onDraw(),什么时候应该将View#willNotDraw()设置为true,并只调用SurfaceView#invalidate()。两者之间有区别吗?其中一个是否比另一个更能提高性能?
发布于 2012-03-28 02:34:05
使用SurfaceView.onDraw()和SurfaceView.invalidate()将使SurfaceView的行为类似于普通视图,并且您将为与SurfaceView相关的额外开销买单。如果要从UI线程进行绘制,请改用常规视图。这更容易,也更便宜。
https://stackoverflow.com/questions/9894264
复制相似问题