What is the difference between bootloader or AsyncTask?

I want to know the difference between Android bootloader and AsyncTask, here is a demo on Loader:

package com.android.loaderdemo; import org.json.JSONArray; import org.json.JSONObject; import android.app.Activity; import android.app.LoaderManager.LoaderCallbacks; import android.content.AsyncTaskLoader; import android.content.Context; import android.content.Loader; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.TextView; import com.android.webprocessor.Http_GetServices; public class MainActivity extends Activity implements LoaderCallbacks<String> { TextView txt_username, txt_userEmail, txt_password, txt_role, txt_secretQuestion, txt_answer, txt_zipcode; private static String url = "http://dotstg1.xyz.com/loud/webservcies/GetUserProfile.svc/GetUserProfile/124"; static String response; static String name, email, Pasword, Answer, RoleId, SecretQuestion, Zip; static String useResult = null; static JSONArray userParams = null; private static final int THE_LOADER = 0x01; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.e("onCreate", "onCreate"); // getSuLoaderManager().initLoader(THE_LOADER, null, this).forceLoad(); getLoaderManager().initLoader(THE_LOADER, null, this).forceLoad(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. Log.e("onCreateOptionsMenu", "onCreateOptionsMenu"); getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public Loader<String> onCreateLoader(int arg0, Bundle arg1) { Log.e("onCreateLoader", "onCreateLoader"); SampleLoader loader = new SampleLoader(this); return loader; } @Override public void onLoadFinished(Loader<String> arg0, String arg1) { txt_username = (TextView) findViewById(R.id.name); txt_userEmail = (TextView) findViewById(R.id.email); txt_password = (TextView) findViewById(R.id.password); txt_role = (TextView) findViewById(R.id.role); txt_secretQuestion = (TextView) findViewById(R.id.secretquestion); txt_zipcode = (TextView) findViewById(R.id.zipcode); txt_answer = (TextView) findViewById(R.id.answer); txt_username.setText(name); txt_userEmail.setText(email); txt_password.setText(Pasword); txt_role.setText(RoleId); txt_secretQuestion.setText(SecretQuestion); txt_answer.setText(Answer); txt_zipcode.setText(Zip); Log.e("onLoadFinished", "onLoadFinished"); } @Override public void onLoaderReset(Loader<String> arg0) { Log.e("onLoaderReset", "onLoaderReset"); } private static class SampleLoader extends AsyncTaskLoader<String> { @Override public Context getContext() { Log.e("getContext", "getContext"); return super.getContext(); } @Override public int getId() { Log.e("getId", "getId"); return super.getId(); } public SampleLoader(Context context) { super(context); Log.e("SampleLoader", "SampleLoader"); } @Override public String loadInBackground() { Log.e("loadInBackground", "loadInBackground"); try { response = Http_GetServices.connect(url); JSONObject jsonObject = new JSONObject(response); JSONObject json2 = jsonObject.getJSONObject("GetUserPrfResult"); String test = (String) json2.get("Descritption"); JSONObject json3 = json2.getJSONObject("GetUserPrfParams"); name = (String) json3.get("Name"); email = (String) json3.get("Email"); Pasword = (String) json3.get("Pasword"); RoleId = String.valueOf(json3.getInt("RoleId")); SecretQuestion = String.valueOf(json3.get("SecretQuestion")); Answer = (String) json3.get("Answer"); Zip = String.valueOf(json3.get("Zip")); } catch (Exception e) { e.printStackTrace(); } return null; } } } 
+7
android android-asynctask loader
source share
2 answers

From here :

One subclass of Loaders is AsyncTaskLoader. This class performs the same function as AsyncTask, but a little better. It can handle the configuration of activity changes more easily, and it behaves within the life cycles of fragments and activities. It's nice that AsyncTaskLoader can be used in any situation where AsyncTask is used. At any time, data must be loaded into memory for Activity / fragment for processing, AsyncTaskLoader can do the job better.

+8
source share

In my opinion: Loader is better. because I used AsyncTask a year ago, it’s really a nightmare for me, because you can’t immediately monitor all the progress, for example, sometimes there is an asynchronous start of activity, but you want to exit this operation, you have to call asynctask.cancel() , but this method: cancel() does not cancel asynctask right now. In this case, the application will crash due to this. therefore, if you use asynctask, you must be careful about how to cancel the task.

+5
source share

All Articles