GPUに大きく依存しているアプリでハードウェアアクセラレーションを使用する必要があります。いくつかのフォーラムで、Android:hardwareAccelerated="true"
内部<application>
および他のフォーラムと同じ属性<activity>
私の内部AndroidManifest.xml
。以下は、それがどのように見えるかの表現です:
<application
...
Android:hardwareAccelerated="true"
...>
<activity
...
Android:hardwareAccelerated="true"
...>
</activity>
</application>
私は両方で設定することになりましたが、どちらが正しい方法で、どのような違いがありますか?
ハードウェアアクセラレーションはデフォルトで有効になっているため、無効にする必要がない限り、設定する必要はありません。 ドキュメント で述べたように:
ターゲットAPIレベルが14以上の場合、ハードウェアアクセラレーションはデフォルトで有効になっていますが、明示的に有効にすることもできます。
あなたの質問に答えるために。アプリケーションタグで設定すると、アプリケーション全体に影響し、アクティビティタグで設定すると、そのアクティビティに影響します。
Androidマニフェストファイルで、タグに次の属性を追加して、アプリケーション全体のハードウェアアクセラレーションを有効にします。
<application Android:hardwareAccelerated="true" ...>
ハードウェアアクセラレーションがグローバルにオンになっている状態でアプリケーションが適切に動作しない場合は、個々のアクティビティに対しても制御できます。アクティビティレベルでハードウェアアクセラレーションを有効または無効にするには、要素にAndroid:hardwareAccelerated属性を使用できます。次の例では、アプリケーション全体に対してハードウェアアクセラレーションを有効にしますが、1つのアクティビティに対しては無効にします。
<application Android:hardwareAccelerated="true">
<activity ... />
<activity Android:hardwareAccelerated="false" />
</application>
<application>
を設定すると、アプリ全体にhardwareAccelerated
機能があり、<activity>
で再度設定する必要はありませんが、アプリケーションがハードウェアアクセラレーションはグローバルにオンになり、<activity>
に設定できます。これは、アプリ全体ではなく、特定のアクティビティにhardwareAccelerated
機能があることを意味します。あなたの場合、<application>
タグでのみ設定できると思います。
詳細はこちらをご覧ください。 https://developer.Android.com/guide/topics/graphics/hardware-accel