Đáp lại 3 câu hỏi của bạn:
(1) BaseAdapter , theo tài liệu Android, chỉ là một lớp cha của một số loại bộ điều hợp, một trong số đó là ArrayAdapter
. Có một số bộ điều hợp khác có nguồn gốc từ BaseAdapter
đó phù hợp với các mục đích khác nhau. Kết quả là không có bất kỳ sự khác biệt nào về hiệu quả giữa hai loại; bạn chỉ có quyền truy cập vào một tập hợp các hàm / phương thức khác với các lớp con khác nhau.
(2) Hiệu quả của bạn ArrayAdapter
phụ thuộc vào hiệu quả của những gì bạn đang làm bên trong lớp đó, tức là việc xử lý bitmap và dữ liệu khác.
(3) Bạn có thể tìm ra cách hoạt động của mình ListView
bằng cách sử dụng một loại bộ điều hợp khác, tuy nhiên, lý do ArrayAdapter
hoạt động là vì nó thường có ý nghĩa với mục tiêu là xây dựng một danh sách tương tác. Sau đó, ArrayAdapte
lấy một Array
, thường là một ArrayList
trong các đối tượng, mà nó xử lý để tạo ra thông tin hỗ trợ cho ListView
. Theo nghĩa đó, việc thiết lập ArrayList
-> ArrayAdapter
-> ListView
chỉ hợp lý một cách hợp lý.