hardwareAccelerated你不知道的一些問題

在Android中,能夠四給不一樣層次上開啓硬件加速:android

一、Application網絡

<applicationandroid:hardwareAccelerated="true">app

二、Activityide

<activityandroid:hardwareAccelerated="true">post

三、Window測試

getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);spa

四、Viewdebug

view.setLayerType(View.LAYER_TYPE_SOFTWARE,null);調試

在這四個層次中,應用和Activity是能夠選擇的,Window只能打開,View只能關閉。orm

在apk的AndroidManifest中,若是指定了minSDKVersion&targetSDKVersion=7,會使得應用沒法使用硬件加速進行繪圖。

注:有些朋友可能會遇到在開發過程當中用到虛線的狀況,實現有兩種方式:

方式一:

hundsun_include_dotted_line.xml

<?xml version="1.0"encoding="utf-8"?>

<Viewxmlns:android="http://schemas.android.com/apk/res/android"

   style="@style/HundsunStyleWmHw"

   android:background="@drawable/hundsun_shape_dotted_line" />

hundsun_shape_dotted_line.xml

<?xml version="1.0"encoding="utf-8"?>

<shapexmlns:android="http://schemas.android.com/apk/res/android"

   android:shape="line" >

<!-- 顯示一條虛線,破折線的寬度爲dashWith,破折線之間的空隙的寬度爲dashGap,當dashGap=0dp時,爲實線(使用時須要把這個Activity的硬件加速關了) -->

   <stroke

       android:dashGap="@dimen/hundsun_dimen_wee_spacing"

       android:dashWidth="@dimen/hundsun_dimen_small_spacing"

       android:width="@dimen/hundsun_dimen_normal_divide"

       android:color="@color/hundsun_app_color_divide" />

   <!-- 虛線高度 -->

   <size android:height="2dp" />

</shape>

這種方式須要在使用該虛線的Activity中設置<activity android:hardwareAccelerated="false">,缺點是這個Activity會變慢,若是有網絡請求時,大機率出現收到數據後不會回調問題(斷點時,每次都會回調,這是不少人遇到的奇怪問題)。

方式二(建議使用這種方式):

hundsun_include_dash_line.xml

<?xml version="1.0"encoding="utf-8"?>

<Viewxmlns:android="http://schemas.android.com/apk/res/android"

   android:layout_width="match_parent"

   android:layout_height="@dimen/hundsun_dimen_normal_divide"

   android:background="@drawable/hundsun_shape_dash" />

hundsun_shape_dash.xml

<?xml version="1.0"encoding="utf-8"?>

<bitmapxmlns:android="http://schemas.android.com/apk/res/android"

   android:src="@drawable/hundsun_dashed_line"

   android:tileMode="repeat" />

hundsun_dashed_line.png是一張圖片,只要很小很小就行,自動平鋪的。

另外對APP進行在線全方位遠程調試我都會用Testbird——雲手機,功能很是強大,又很方便快捷,還能夠作兼容性測試、壓力測試等等。

相關文章
相關標籤/搜索