start async task from onhandleintent

前端 未结 3 2062
感动是毒
感动是毒 2020-12-11 20:28

Should we start async task from within onHandleIntent() method of IntentService? I read that onHandleIntent() runs in worker thr

3条回答
  •  悲哀的现实
    2020-12-11 21:16

    IntentServices already are background-processes; there's no need to start an AsyncTask from there. Also, starting an AsyncTask is 'safe' from anywhere; it's a helper class that helps you multithread. Just make sure you don't manipulate Views in the doInBackground()-method of your AsyncTask if you use it in your Activity.

    If you need to spawn multiple threads inside your IntentService, just use:

    new Thread(Runnable r).start();

    See an example at How to run a Runnable thread in Android?

    If you need to call some kind of callback, use Handler. For an example, see http://www.vogella.com/articles/AndroidPerformance/article.html#handler

提交回复
热议问题