2016-05-30 3 views
0

Я начинаю разрабатывать приложения для Android.В чем основное отличие между AsyncTask() и Handler()?

Мне нужно использовать ping-тест в своем приложении для проверки доступного подключения к Интернету, поскольку я нашел этот метод очень полезным, но я читал во многих местах, что должен использовать метод AsyncTask() или Handler() как тест ping Пользовательский интерфейс может заморозить мое приложение.

Но я не получаю разницу между этими двумя, чтобы решить, какой из них я должен использовать. Я обнаружил, что в AsyncTask у меня есть методы, такие как doInBackground() и onPostExecute, которые помогают во взаимодействии с потоком пользовательского интерфейса и процессы запускаются в другом потоке.

Но я не получаю такие методы в методе Handler().

Handler handler = new Handler(); 
Runnable runnable =new Runnable() { 
@Override 
public void run() { 
    handler.postDelayed(this,1000); 
} 
}; 
handler.post(runnable); 
  1. Я не получаю какой метод в обработчике() работает в фоновом режиме, и какой метод полезны для принятия приложения работать в фоновом режиме, как я нашел в AsyncTask().
  2. Я не понимаю разницу между этими двумя.

ответ

1

Простое и главное различие между ними

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

Если вы не заинтересованы в пользовательском интерфейсе, то более подходящим является Handler/Thread.

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