Я не уверен 5K записей, но ListViews известны обрабатывать хорошо, даже большое количество записей с использованием эффективного механизма рециркуляции. См. this thread для подробного объяснения.
Теперь сделайте себе одолжение и используйте Volley для загрузки сетевого ресурса. Он намного лучше выполняет работу в async-загрузке записей в списки, чем большинство из нас ... В любом случае либо используемая вами библиотека, либо ваш собственный код должны выполнять загрузку ресурсов/создание сети из фонового потока.
Вы также должны применить код ViewHolder pattern к вашему коду. Использование ViewHolder - это идея капота. это становится решающим для действительно большого количества записей. Пожалуйста, используйте его.
Он должен выглядеть следующим образом
class ViewHolder {
textView text1;
Button button1;
}
class MyAdapter {
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView==null){
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
convertView = inflater.inflate(layoutResourceId, parent, false);
viewHolder = new ViewHolderItem();
viewHolder.text1 = (TextView) convertView.findViewById(R.id.text1);
viewHolder.button1 = (Button) convertView.findViewById(R.id.button1);
..........
convertView.setTag(viewHolder);
}
viewHolder = (ViewHolderItem) convertView.getTag();
ObjectItem objectItem = data[position];
..........
}
}
И, наконец, если вам действительно нужна частичная загрузка вместе с Загрузить больше функциональности, пожалуйста, прочитайте: http://www.androidhive.info/2012/03/android-listview-with-load-more-button/
поэтому сначала я должен загрузить их в мою базу данных, а затем обновить listview? – teekib
Предположим, если я обновил свой список с 20 записями и, если произойдет внезапное падение в сети, как я должен справиться с этим сценарием? – teekib
И что, если я не хочу использовать какую-либо нагрузку больше кнопок или разбивки на страницы, как я должен это делать. – teekib