показывать индикатор выполнения без зависания приложения

#android #android-activity #progress-bar

#Android #android-активность #индикатор выполнения

Вопрос:

У меня есть ListActivity, который запускает другое действие на основе выбора из списка. Это второе действие должно загружать данные путем синтаксического анализа из xml-файла, и поэтому существует заметная задержка между тем, когда пользователь нажимает на элемент, и отображением действия.

Между этим процессом пользователь должен быть обозначен индикатором выполнения в нижней части экрана без зависания активности.

Комментарии:

1. используйте UIThread для отображения панели выполнения и AsyncThread для сетевой активности.

2. что именно вы подразумеваете под зависанием. происходит ли сбой приложения?

Ответ №1:

Вам следует взглянуть на AsyncTask класс, который позволяет выполнять фоновую обработку и публиковать статус обработки без остановки основного действия.

Ответ №2:

Всякий раз, когда вы используете какую-либо библиотеку графического интерфейса пользователя, возникает такая концепция: у вас есть один поток, предназначенный для событий графического интерфейса пользователя, в Java-Swing называемый «Потоком отправки событий» EDT, в Android, как и SWT, он называется UI-Thread. Этот поток отвечает за все события графического интерфейса пользователя и манипуляции с ним. Трудоемкие действия должны выполняться в другом потоке, чтобы пользовательский интерфейс не блокировался / зависал.

(Я думаю, важно понимать эту базовую концепцию разработки пользовательского интерфейса, а не просто использовать AsyncTask и думать, что это что-то специфичное для Android)

Редактировать