我一直在尝试制作一个可滚动/可缩放的应用程序,除了绘制位图外,一切都很顺利。这是一个非常大的图像(6656 x 4096),我已将其拆分为多个图 block 。有一个绘制位图的矩形数组,它会检测左上角的矩形,以便绘制覆盖用户可视屏幕的位图。我的问题是,当应用程序必须将位图加载到内存中时,这一切都滞后了;一旦加载,这不是问题。我从 512 x 512 的瓷砖开始,然后下降到 128 x 128。虽然它有所帮助,但仍有一些明显的滞后。我一直在研究 surfaceView,如果我应该坚持使用 View,或者使用 surfaceView 来解决我的滞后问题,希望得到您的意见。
最佳答案
如果您派生自己的 SurfaceView,您将获得多项优势。
主要是因为您可以在单独的线程中拥有所有绘图逻辑。这意味着 ui 不会等你(我假设延迟是因为 ui 线程被阻塞了?)。
SurfaceView 在本质上也更快。
我还找到了 this developer.android.com 上的概述是选择绘图方法的一个很好的引用。
关于android view 和 surfaceView,我该用哪个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3368354/