Đá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 ArrayAdapterphụ 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 ListViewbằng cách sử dụng một loại bộ điều hợp khác, tuy nhiên, lý do ArrayAdapterhoạ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 đó, ArrayAdaptelấy một Array, thường là một ArrayListtrong 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-> ListViewchỉ hợp lý một cách hợp lý.