安卓中的View和SurfaceView,我应该使用哪一个?

7
我一直在尝试制作一个可滚动/可缩放的应用程序,除了绘制位图之外,一切都很顺利。这是一张非常大的图片(6656 x 4096),我已经将其分成了若干个瓦片。有一个矩形数组,位图被绘制到其中,并检测左上角的矩形以便绘制可以覆盖用户可视屏幕的位图。我的问题是当应用程序需要将位图加载到内存时,所有操作都会出现延迟;一旦它们被加载,这就不是问题了。我从512 x 512的瓦片开始,然后降到了128 x 128。虽然有所帮助,但仍然存在一些明显的延迟。我一直在研究surfaceView,并想知道您的意见,是否应坚持使用View,还是使用surfaceView来解决延迟问题。
1个回答

9
如果你派生自己的SurfaceView,你会有几个优势。主要是因为你可以将所有的绘图逻辑放在一个单独的线程中。这意味着UI不会等待你(我假设延迟是因为UI线程被阻塞了?)。
SurfaceView的速度也更快。
我还发现developer.android.com上的这篇概述是选择绘图方法的好参考。

1
SurfaceView 确实比预期更快、更适合,谢谢。 - jfisk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接