Có thể có điều gì đó ngớ ngẩn đang diễn ra, nhưng tôi đang cố gắng cho phép tăng tốc phần cứng trong ứng dụng nhắm mục tiêu 3.1, mỗi this tutorial.Tăng tốc phần cứng không được bật
Tôi đã thêm phần sau đây để biểu hiện của tôi:
<uses-sdk
android:targetSdkVersion="12"
android:minSdkVersion="12" />
<application
...
android:hardwareAccelerated="true">
Khi tôi kiểm tra trạng thái tăng tốc phần cứng sau khi xem được đính kèm (bằng cách gọi isHardwareAccelerated()
trong một overriden onAttachedToWindow()
) Tôi đang trở thành sự thật, vì vậy tất cả Trông rất tuyệt. Vấn đề là Canvas của SurfaceView KHÔNG được tăng tốc, vì canvas.isHardwareAccelerated()
trả về false. Tôi đang kiểm tra ở surfaceCreated()
và tôi cũng nhận được sự thật ở đó, vì vậy không có ý tưởng nào khiến Canvas mất cài đặt này.
Mọi con trỏ?
EDIT1:
Tìm thấy this và this vào nhóm phát triển của Google, nhưng tôi thực sự kiểm tra sau khi xem được gắn nếu tôi đang kiểm tra này trong onAttachedToWindow()
, phải không? Đây là trên một máy tính bảng Lenovo chạy 3.1 BTW.
EDIT2:
Tôi đã thử tắt tăng tốc qua thiết
<application
...
android:hardwareAccelerated="false">
Và tôi vẫn thấy thật sự trở về từ các Xem trong onAttachedToWindow()
, vì vậy một cái gì đó không phải là ngay tại đây. Tôi không rõ ràng chanbing hw tăng tốc từ mã, có thể là một vấn đề thiết bị cụ thể?
Ngoài ra, tôi nhìn thấy những dòng sau rải rác trong LogCat khi SurfaceView được tạo ra:
surface (identity=524) is invalid, err=-19 (No such device)
EDIT3:
Chỉ cần suy nghĩ thật to ở đây, nhưng là có bất kỳ cơ hội mà các Canvas không phải là đang được tăng tốc do thực tế là nó nằm trên chuỗi riêng của nó, thông qua việc triển khai SurfaceView điển hình sử dụng vòng lặp vẽ, như Lunar Lander?