Вопрос в том, что является причиной того, что вам нужно загружать их так быстро. В общем, элементы могут быть прочитаны из базы данных очень быстро. Тем не менее, вы должны делать это в AsyncTask , чтобы не блокировать поток пользовательского интерфейса с помощью этой операции.
Другой момент: если вы хотите отображать элементы из базы данных в ListView, вам не следует читать все элементы сразу и помещать их в массив, который вы связываете со списком. Вместо этого вы должны использовать курсор, полученный из запроса к базе данных, и привязать его к SimpleCursorAdapter или CursorAdapter , который затем привязывается к ListView. CursorAdapters оптимизированы для чтения данных из курсора по мере необходимости. Помните, что создание объектов - это дорогостоящая операция на Android, которую следует избегать, если в этом нет необходимости. Так что, если ваши списки действительно велики, и пользователь не всегда будет прокручивать весь список, тогда зачем предварительно загружать все элементы и создавать для них представления?
Конечно, вы можете запросить базу данных во время заставки и хранить возвращенные курсоры где-то до тех пор, пока они вам не понадобятся.
Но, как я сказал в начале, я не знаю, что делает ваше приложение, поэтому трудно сказать, стоит ли оно усилий или нет.