6

Trong chế độ xem tùy chỉnh tôi có, tôi đang sử dụng Canvas.drawBitmap với bitmap nguồn rộng hơn 2048px. Điều này tất nhiên gây ra vấn đề khi tăng tốc phần cứng được kích hoạt, với LogCat phun ra "W/OpenGLRenderer (4968): Bitmap quá lớn để được tải lên một kết cấu" mỗi khi drawBitmap được gọi.Tại sao tôi không thể buộc một trong các Chế độ xem của tôi hiển thị trong phần mềm?

Vì vậy, để giải quyết vấn đề này, tôi đã thử gọi setLayerType(View.LAYER_TYPE_SOFTWARE, null) trên chế độ xem của mình. Vấn đề duy nhất là nó dường như không giúp được gì. Khi tôi cố gắng chạy ứng dụng của mình, LogCat vẫn sẽ đưa ra các cảnh báo, và không có gì kết thúc được rút ra.

Tôi không thể hiểu tại sao lại như vậy. This article on the Android site nêu rõ:

Bạn có thể vô hiệu hóa khả năng tăng tốc phần cứng cho một cái nhìn cá nhân trong thời gian chạy với đoạn mã sau:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

Có cái gì tôi đang làm sai? Tại sao Android không tôn trọng cuộc gọi setLayerType?


[trong trường hợp quan trọng: Tôi đang thực hiện thử nghiệm của tôi trên một Samsung Galaxy Tab 10.1 chạy Android 3.2]

+0

Kiểm tra canvas.isHardwareAccelerated(). Nó có thể khác với chế độ xem – imort

Trả lời

0

Cố gắng thay đổi kích thước bitmap đầu tiên. Sử dụng createBitmap.

Các vấn đề liên quan