Social Icons

2013年5月7日 星期二

今天我學到 - Hardware acceleration和WebView

程式裡因為改用Google Map api V2時,就忘了將Hardware acceleration設成off,就在測試時發現WebView會不定時的crash,google了一下找到這篇,說WebView使用硬體加速會有很多問題,建議取消。但是,因為程式中的Google Map api v2用到openGL,所以如果Hardware acceleration設成on的話是會讓整個速度提升不少的。所以就花了一點時間查詢如何在外部和程式中設定是否使用硬體加速的功能。

在AndroidManifest.xml中設定

a.整個application設定
<application android:hardwareAccelerated="true" ...>
b.對activity
<activity android:hardwareAccelerated="false" />
您可以在application中設定整體是否要加速,然後在activity中對分別activity來設定。但是,如果您想要在程式中設定,或者只針對某一個View來設定呢的話,可以參考下面程式碼:
// 在window中只能設定硬體加速,不能取消哦。
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

// 在view中可以取消硬體加速
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

沒有留言:

張貼留言