[转]Android如何关闭硬件加速
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- android, java
- Lĩnh vực
- documentation, mobile-dev
Hướng nghiên cứu
Xem xét nội dung đã dịch về tăng tốc phần cứng Android trong issue cùng với các URL bản gốc và bản dịch được liên kết. Kiểm tra cách AndroidNote tổ chức các ghi chú tương tự; vì không có tệp đích hoặc thay đổi được yêu cầu nào được chỉ định, hãy xác nhận phạm vi tài liệu dự kiến trước khi coi công việc là hoàn tất.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
原文地址:http://developer.android.com/guide/topics/graphics/hardware-accel.html
译文地址:http://blog.chenming.info/blog/2012/09/18/android-hardware-accel/
硬件加速
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的形式进行缓存
- Ngôn ngữ chính
- Java
- Star
- 9.3k
- Fork
- 2.1k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của GcsSloop/AndroidNote
-
安卓自定义View进阶-Canvas之绘制图形 部分有误 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
GcsSloop/AndroidNote#116 ·
-
安卓 Đang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
GcsSloop/AndroidNote#115 ·
-
章节缺失:安卓自定义View进阶 Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
GcsSloop/AndroidNote#114 ·
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 55/100
GcsSloop/AndroidNote#111 · 2 reaction ·
-
博客有几篇打不开了 Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
GcsSloop/AndroidNote#110 ·
Tất cả issue của GcsSloop/AndroidNote
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
elastic/gradle-plugins#157 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
cryptomator/hub#497 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
johanhaleby/occurrent#1120 ·