私のアプリでは、SurfaceView
ANativeWindow API を使用して NDK から作成して使用しANativeWindow_lock
ますANativeWindow_unlockAndPost
。
サーフェスのサイズはANativeWindow_setBuffersGeometry
320x480 に設定されています。画面サイズが大きくなり、480x800 になりました。
SurfaceView は、LayoutParams を使用してほぼフルスクリーンに引き伸ばされます。
私が見ている問題は、フレームが 320x480 の領域でのみ更新されることです。
postInvalidate
サーフェスの他の部分は、上にアニメーション化されている別のビューがある場合、またはサーフェス ビューを明示的に呼び出した場合にのみ更新されます。ただし、postInvalidate
動作が遅くなります。
これは、 https ://developers.google.com/android/nexus/images (2.3.6 (GRK39F))の ROM を使用した 2.3.6 の Nexus S でのみ発生します。4.0.4 の同じデバイスには、このバグはありません。
2.3.6 の Samsung Ace-2 で正常に動作します。Androidの上位バージョンでも完全に動作します。
誰もそのようなバグを見たことがありますか?その特定の電話のバグであることは間違いありません。これを回避する方法はありますか?