日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android如何关闭硬件加速

發布時間:2023/12/16 Android 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android如何关闭硬件加速 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

硬件加速

Android 3.0 (API level 11), 開始支持
所有的View 的canvas都會使用GPU,但是硬件的加速會占有一定的RAM。
在API >= 14上,默認是開啟的,如果你的應用只是標準的View和Drawable,全局都打開硬件加速,是不會有任何問題的。
然而,硬件加速并不支持所有的2D畫圖的操作,這時開著它,可能會影響到你的自定義控件或者繪畫,出現異常等行為,
所以android對于硬件加速提供了可選性

如果你的應用執行了自定義的繪畫,可以通過在真機上測試開啟硬件加速查找問題

硬件加速的級別

Application

<application android:hardwareAccelerated="false" ...> </application>

Activity

<application android:hardwareAccelerated="true"><activity ... /><activity android:hardwareAccelerated="false" /> </application>

Window

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

View

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

Note: 你可以關閉View級別的硬件加速,但是你不能在View級別開啟硬件加速,因為它還依賴其他的設置

兩種獲取是否支持硬件加速的方式

View.isHardwareAccelerated() //returns true if the View is attached to a hardware accelerated window. Canvas.isHardwareAccelerated() //returns true if the Canvas is hardware accelerated

如果必須進行這樣的驗證,建議你在draw的代碼塊中使用:Canvas.isHardwareAccelerated(),因為如果一個View被attach到一個硬件加速的Window上,
即使沒有硬件加速的Canvas,它也是可以被繪制的。比如:將一個View以bitmap的形式進行緩存。

總結

以上是生活随笔為你收集整理的Android如何关闭硬件加速的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。