I believe Google suggests developers to use AsyncTask.
However, I would like to know how is it different from using 'new Thread' and then calling 'RunOnUiThread' in performance and memory efficiency.
Example for using 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();
vs.
AsyncTask:
onPreExecute() {
// some code #1
}
doInBackground() {
// some code #2
}
onPostExecute() {
// some code #3
}
What are the advantages / disadvantages?
Edit:
I am not looking for answers like 'easier to see the code', 'convenient for developers' etc.
I am actually looking for technical diffrences behind the scene.
For example, Paul Nikonowicz's answer below would have been the answer I wanted to see. (But AsyncTask behaves the same)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…