android view 和 surfaceView,我该用哪个?

标签 android surfaceview glsurfaceview

我一直在尝试制作一个可滚动/可缩放的应用程序,除了绘制位图外,一切都很顺利。这是一个非常大的图像(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/

相关文章:

android - 从 SurfaceView 转移到 GLSurfaceView?

java - 如何将 admob 广告添加到应用程序中?

java - 单击 Android ExpandableListView 会导致子项目出现 "ID Not Found"错误

android - Android HTML5 的视频编码

android - 更改Android 5.0滚动条颜色

android - 使用不同的参数调用 AsyncTask

android - Android 上 SurfaceView 方法 "onTouchEvent(...)"中的 ANR

android - 在 GLSurfaceView 上覆盖 xml 布局的最佳实践?

android - 在 Android 上动态显示/隐藏多个 OpenGL View

android - 更快的安卓输入点击命令