android - 怎么开启Andorid的硬件加速
高洛峰
高洛峰 2017-04-17 13:15:55
0
2
790

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(2)
刘奇

android:hardwareAccelerated="true"

有这一条 一般已经开启了

いいねを押す +0
大家讲道理

你是对的,用android:hardwareAccelerated="true"就能开去硬件加速。硬加速可以在ApplicationActivity级别上开启,View级别上只能关闭该View的加速,Application或Activity上开启之后View上也就默认开启了。
之所以你没能得到ac为true,可能是你的设备本身不支持硬加速,模拟器和真机都会有不支持的情况。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート