ビューの 1 つでハードウェア アクセラレーションを無効にする必要があります(破線が描画されるため)。
しかし、そうするとすべてのビューにオーバードローが追加されるようです (私のビューには透明な背景があり、その破線はその一部しかカバーしていません)。
ハードウェア アクセラレーションを無効にすると、このオーバードローが発生するのはなぜですか? このオーバードローを追加せずにハードウェア アクセラレーションを無効にする方法はありますか?
ビューの 1 つでハードウェア アクセラレーションを無効にする必要があります(破線が描画されるため)。
しかし、そうするとすべてのビューにオーバードローが追加されるようです (私のビューには透明な背景があり、その破線はその一部しかカバーしていません)。
ハードウェア アクセラレーションを無効にすると、このオーバードローが発生するのはなぜですか? このオーバードローを追加せずにハードウェア アクセラレーションを無効にする方法はありますか?
これは解決策ではありませんが、あなたが尋ねた 3 番目の質問に答えるかもしれません。
オーバードローを避ける レイヤーを重ねて描画しすぎないようにします。その上にある他の不透明なビューによって完全に隠されているビューを削除します。複数のレイヤーを重ねて描画する必要がある場合は、それらを 1 つのレイヤーに結合することを検討してください。現在のハードウェアの経験則として、フレームごとに画面上のピクセル数の 2.5 倍を超えて描画しないようにします (ビットマップ カウントの透明ピクセル!)。
ソース: http://developer.android.com/guide/topics/graphics/hardware-accel.html