在我的应用程序中,我SurfaceView
使用 ANativeWindow API 从 NDK 创建和使用它:ANativeWindow_lock
然后ANativeWindow_unlockAndPost
.
表面的大小设置ANativeWindow_setBuffersGeometry
为 320x480。屏幕尺寸更大 - 480x800。
SurfaceView 使用 LayoutParams 拉伸到几乎全屏。
我看到的问题是我的帧仅在 320x480 区域内刷新。
仅当顶部有另一个视图动画或我明确调用postInvalidate
表面视图时,才会刷新表面的另一部分。但是,postInvalidate
延迟工作。
这只发生在带有 2.3.6 的 Nexus S 上,带有来自https://developers.google.com/android/nexus/images (2.3.6 (GRK39F)) 的 ROM。带有 4.0.4 的同一设备没有此错误。
在带有 2.3.6 的三星 Ace-2 上运行良好。也可以在更高版本的 android 上完美运行。
有没有人见过这样的错误?很确定这是该特定手机上的错误。有什么建议可以解决这个问题吗?