2014-12-12 20 views
6

tôi có một TextView bên trong một số ReleativeLayout mà tôi đặt một văn bản lớn vào thời gian chạy. vấn đề về nền ReleativeLayout của tôi là hình tròn với đường viền. nó không thiết lập nền và trong Logcat nó nói rằng:Sự cố trên OpenGLRenderer: Đường dẫn quá lớn để được hiển thị cho họa tiết

12-12 16:26:56.602: W/OpenGLRenderer(7400): Path too large to be rendered into a texture 

tôi đã giải quyết vấn đề này bằng cách chuyển android: hardwareAccelerated false trong file manifest (một hoạt động không toàn bộ ứng dụng), nhưng nó nâng cao một lỗi khi tôi sử dụng trình đơn trượt bên trong Hoạt động của tôi mà nó nói rằng:

12-12 16:37:05.717: E/AndroidRuntime(9520): java.lang.RuntimeException: Canvas: trying to use a recycled bitmap [email protected] 

tôi có chỉ là một ListView mà không cần bất kỳ bitmap bên trong SlidingMenu của tôi đó là thư viện 6Wunderkinder SlidingLayer.

bất kỳ trợ giúp nào sẽ được đánh giá cao.

Trả lời

14

Cuối cùng giải quyết nó với chỉ cần thay đổi LayerType của Fragment scrollview của tôi từ HardwareAcceleration đến phần mềm mà không cần thiết lập HardwareAcceleration sai cho Hoạt động toàn khiến bahavior lạ như đã đề cập trên SlidingMenu:

<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layerType="software"> 
+0

này là không chính xác giải quyết vấn đề. Câu trả lời không tính đến các hậu quả có thể xảy ra. –

+0

Nếu có bất cứ điều gì, tôi thấy hiệu năng được cải thiện với một lớp phần mềm - có lẽ là vô hiệu hóa kết xuất phần cứng không có tác dụng phụ trên nửa tá thiết bị thấp và cao mà tôi đã thử nghiệm. – cetcet

3

Điều này xảy ra với tôi khi tôi có một scrollview quá dài với một drawable trong rootview, điều này ảnh hưởng đến mọi thiết bị duy nhất. Nexus 9 của tôi sẽ hiển thị hầu hết mọi thứ nhưng thiết bị nhỏ gọn của tôi sẽ không hoạt động. Nó không phải là giá trị nó để biến tăng tốc phần cứng tắt bởi vì trên các thiết bị cấp thấp, bạn sẽ có thể có một ứng dụng rất choppy.

Trong trường hợp này, có lẽ bạn nên xem xét sử dụng listview hoặc recyclerview để đảm bảo yếu tố nền của bạn không lớn hơn màn hình. Ngay cả các drawables XML trong nền của một scrollview không quá dài sẽ tạo ra lỗi này. Tôi chọn cho an toàn và sẽ thiết kế lại các yếu tố, đơn giản loại bỏ nền từ scrollview có thể là một lựa chọn, và đặt chúng như gạch trong các yếu tố bên trong. Nó có vẻ lạ nhưng nó phải có làm thế nào nền được render bởi rootview đó trong một scrollview dài hơn, bởi vì một scrollview chính nó có thể khá dài, với nhiều yếu tố phức tạp mà không có một vấn đề, và màu nền như cũng không bao giờ là một vấn đề ..

1

Nếu bạn muốn làm điều đó theo chương trình bạn có thể đặt:

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
Các vấn đề liên quan