Я считаю, что Google предлагает разработчикам использовать AsyncTask. Тем не менее, я хотел бы знать, как это отличается от использования "нового потока", а затем вызова "RunOnUiThread" в производительности и эффективности памяти.
Пример использования RunOnUithread:
// some code #1
Thread t = new Thread("Thread1") {
@Override
public void run() {
// some code #2
runOnUiThread(new Runnable() {
public void run() {
// some code #3 (that needs to be ran in UI thread)
}
});
}
};
t.start();
против.
AsyncTask:
onPreExecute() {
// some code #1
}
doInBackground() {
// some code #2
}
onPostExecute() {
// some code #3
}
Каковы преимущества/недостатки?
Edit:
Я не ищу ответов, таких как "легче увидеть код", "удобный для разработчиков" и т.д. Я действительно ищу технические различия за сценой.
Например, Павел Никонович ответил ниже, это был ответ, который я хотел увидеть. (Но AsyncTask ведет себя одинаково)