検索

ホームページ  >  に質問  >  本文

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. 如果正确,为什么没有开启硬件加速功能?

高洛峰高洛峰2781日前801

全員に返信(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
  • キャンセル返事