2012-03-05 2 views
0

Я могу получить контакты, используя этот код https://stackoverflow.com/a/1780818/992774, он отлично работает и возвращает все электронные письма и номера телефонов.
Но моя проблема в том, что когда у меня 10 000 контактов, это занимает около 3-4 минут, и за это время он блокирует мой пользовательский интерфейс и выглядит так, как мое приложение остановилось. Я видел много приложений, таких как groupme, которые показывают контакты, не принимая во внимание.
Может ли кто-нибудь предложить, как сократить время при наборе контактов тысяч контактов или как я могу создать собственный адаптер курсора?Управление контактами в Android

ответ

1

Вы можете сделать загрузку в отдельном потоке, либо с помощью обработчика или AsyncTask, для примера, пожалуйста, обратитесь к этой обучающей программе http://www.vogella.de/articles/AndroidPerformance/article.html

Это оставит свой UI нить, чтобы быть свободным, чтобы делать вещи UI и вы должны иметь возможность видеть, как ваши контакты заполняются один за другим на вашем экране.

1

использовать CursorLoader, чтобы получить курсор. Он запускается асинхронно, поэтому вы не повредите свой поток пользовательского интерфейса во время получения данных.

Это может занять некоторое время. Стоит ли возвращаться на второй и спрашивать, нужно ли вам , чтобы посмотреть на 10 000 контактов? Мне кажется, что на экране практически невозможно найти их.

Смежные вопросы