Tôi đang sử dụng Thư viện với ImageAdapter để tải nó bằng ImageViews để kéo hình ảnh ra khỏi tài nguyên của tôi. Vấn đề của tôi là convertView được chuyển tới phương thức getView() trong bộ điều hợp của tôi luôn là null. Điều này có nghĩa là một ImageView mới được tạo ra và mỗi khi getView() được gọi. Điều này dẫn đến hiệu suất kinh khủng bởi vì GC liên tục chạy để xóa sạch tất cả những thứ này được tạo ra và không còn sử dụng ImageView nữa.Gallery ImageAdapter convertView luôn là số
Đây rõ ràng là lỗi đã biết: Gallery's view cache is broken; never converts views..
Hai giải pháp ưu tiên của tôi là 1. xử lý bộ nhớ cache của chế độ xem trong chính bộ điều hợp và quản lý tất cả logic cần thiết để sử dụng lại chúng đúng cách. hoặc 2. bao gồm một bản sao của tiện ích Thư viện của riêng tôi và cố gắng khắc phục nó để nó trả về các chế độ xem tái chế một cách chính xác.
Tôi đã bắt đầu triển khai tùy chọn nhưng tôi nhanh chóng nhận ra rằng tôi không biết chính xác cách tạo tất cả logic đằng sau thao tác đó. Tôi bắt đầu nghĩ rằng lựa chọn hai có thể dễ dàng hơn.
tôi đã tìm thấy mã cho widget Gallery ở đây: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/widget/Gallery.java
tôi không hoàn toàn hiểu điều đó, nhưng tôi có thể thấy rằng nó đang kêu gọi
child = mAdapter.getView(position, null, this);
on line 745. My (bắn trong bóng tối) đoán rằng đây là gốc rễ của vấn đề.
Có ai có kinh nghiệm về lỗi này không. Hoặc bất cứ ai có thể chỉ cho tôi đi đúng hướng để tìm ra cách tình hình tái chế hoạt động để tôi có thể tinh chỉnh widget này để hoạt động chính xác? Hoặc thậm chí đề xuất một số lựa chọn thay thế mà tôi có thể được nhìn ra.
EDIT: Giải pháp tốt nhất mà tôi từng tìm thấy là triển khai được gọi là EcoGallery. Nơi duy nhất tôi có thể tìm thấy tham chiếu đến nó online anymore is here. Để làm cho nó hoạt động, bạn phải đặt từng đoạn từ đó vào đúng vị trí trong dự án của bạn.
Có thể giúp http://stackoverflow.com/questions/10769989/how-do-i-get-the-selected-item-from-a-gridview-with-imageadapter-android –