ICSでアプリをハードウェアアクセラレーションしたいのですが、2.3.3のサポートも必要です。ICSに対してのみハードウェアアクセラレーションを有効にできますか?または、2.3.3のサポートしか削除できませんか?
3 に答える
ハードウェアアクセラレーションは3.0まで追加されませんでした。これは問題ではありません。
参照:http ://developer.android.com/guide/topics/graphics/hardware-accel.html
ICS(android 4+)では、GPUアクセラレーションはデフォルトで有効になっており、マニフェストで無効にすることができます。
(android 2.3.xまで)を含むジンジャーブレッドまでは、まったく利用できないため無効になっています。
ハニカム(android 3.x)では、デフォルトで無効になっていますが、マニフェストで有効にすることができます。
ここに何か他のものがあります。
あるゲームでハードウェアアクセラレーションを有効にしたところ、ICSで問題なく動作しましたが、市場にアップロードすると、ゲームがほとんどプレイできなくなったという報告が多数寄せられました。
私はそれらのユーザーの1人に連絡し、ハードウェアアクセラレーションをオフにした別のバージョンを彼に提供しました。彼はそれがうまくいったと主張し、彼はジンジャーブレッドを使っていました。
公式ドキュメントによると、ハードウェアアクセラレーションを有効にしても、ジンジャーブレッドに影響はありません。しかし、私の経験では、それはあります。
また、公式ドキュメントでは、宣言せず、ターゲットがICSの場合、デフォルトで有効になっていると記載されています。ただし、明示的にオンにすると、アニメーション、スワイプ、スクロールに明らかな改善が見られました。
そのため、公式ドキュメントは正しくなく、一部のバージョンではハードウェアアクセラレーションを手動で無効/有効にする理由があります。
マニフェストでハードウェアアクセラレーションを無効にし、次のコードを使用します。
if (android.os.Build.VERSION.SDK_INT>=11) {
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
}
これで私の問題が解決するかどうかをお知らせします。そう願っています。
編集:それはうまくいきました、そして私はユーザーから不平を言うのをやめました。