首頁  >  問答  >  主體

android - 怎么开启Andorid的硬件加速

自己的andorid app中设置了

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="tsaarni.nativeeglexample"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="21"/>
    <application android:label="@string/app_name" 
         android:icon="@drawable/ic_launcher" 
         android:allowBackup="true" 
         android:hardwareAccelerated="true">
        <activity android:name="NativeEglExample"
                  android:hardwareAccelerated="true"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

在MainActivity.onCreate中,设置也开启了window的硬件加速:

setContentView(R.layout.main);
getWindow().setFlags(
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
        WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

但是UI中的控件得到的硬件加速的状态为ac为false:

    FrameLayout globalFramelayout = (FrameLayout)findViewById(R.id.my_framelayout);
    boolean ac = globalFramelayout.isHardwareAccelerated(); 

请问:
1. 这样判定ac加速的方式正确吗?
2. 如果正确,为什么没有开启硬件加速功能?

高洛峰高洛峰2721 天前735

全部回覆(2)我來回復

  • 怪我咯

    怪我咯2017-04-17 13:17:55

    android:hardwareAccelerated="true"

    有這條 一般已經開啟了

    回覆
    0
  • 大家讲道理

    大家讲道理2017-04-17 13:17:55

    你是對的,用android:hardwareAccelerated="true"就能開去硬體加速。硬加速可以在ApplicationActivity等級上開啟,View層級上只能關閉該View的加速,Application或Activity上開啟之後View上也就預設開啟了。
    之所以你沒能得到ac為true,可能是你的裝置本身不支援硬加速,模擬器和真機都會有不支援的情況。

    回覆
    0
  • 取消回覆