Прокрутка больших списков адаптеров на основе курсора выполняется быстрее, чем гораздо меньшие списки адаптеров в памяти

У меня есть приложение для Android, которое имеет как CursorAdapter на основе ListView (при поддержке sqlite), так и настраиваемый BaseAdapter на основе ] ListView , которые создаются на лету из JSON, загруженного с сервера.

Данные, отображаемые в обоих, идентичны - изображение и пара TextView . Мой ListView на основе курсора имеет 3000 строк, ListView на основе JSON их около 30. Однако для адаптера на основе курсора прокрутка списка выполняется значительно быстрее. Для списков на основе JSON все данные извлекаются до того, как строки становятся видимыми. Изображения для обоих типов списков загружаются по запросу.

У меня оба ListView настроены одинаково - для обоих fastScrollEnabled , scrollingCache и smoothScrollbar установлено значение true .

Я ищу подсказки о том, как попытаться выяснить, что здесь происходит, и, возможно, исправить это так, чтобы основанный на JSON ListView работал так же быстро, как и основанный на курсоре .

5
задан psychotik 3 November 2010 в 07:52
поделиться