3

Android で標準外のものを実装したい。

WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAYすべての上に透明なシステム オーバーレイ ( ) を作成しGLSurfaceView(その後、キャンバスに変更しました)、その上に何かを描画しようとしています。

問題は、透明なレイヤーをその下にある他のものとブレンドしようとすると、Android が非常に遅くなることです。この操作が遅くなることはわかっていますが、非常に遅いです。多かれ少なかれパワーデバイスでテストしました。

いくつかの事実と観察:

  • オーバーレイ ビューがフルスクリーンです
  • オーバーレイに何も描画しないのにシステムが遅くなる
  • 私の Acer Iconia タブ (10 インチ) は、Droid X よりもはるかに遅く実行されます (ブレンドするピクセルが多いか、新しいレンダリング パイプラインか?)
  • 透明なPNGで静的を使用するImageViewと、Androidは問題なくブレンドします。なんで?Android はフレームごとに何をブレンドするかをチェックしますか?
  • タブレットでハードウェア アクセラレーションを有効にしても効果がない

私の質問: どうにかして最適化することは可能ですか? ビューの背景を null に設定しましたが、効果はありませんでした。

Android 4.0 は 3.2 と同じくらい遅くなりますか?

ホーム画面にシステム オーバーレイをブレンドすると、特に遅くなります。なんで?

私が間違ったことを書いていて、指定された目的以外に API を使用しているとは言わないでください。私はすでにそのことを認識しています。

4

0 に答える 0