我已经实现了2个asyn任务,我使用的是android4.0.其中一个asyntask连续执行,第二个根据需求执行(可能是多个时间).
例如.
class AsynTask1 exetends AsyncTask<VoID, Bitmap, VoID>{ protected VoID doInBackground(VoID... params) { while(true){ publishProgress(bmp); } }}class AsynTask2 extends AsyncTask<String, VoID,VoID>{ protected VoID doInBackground(String... params){ System.out.println(params[0]) }}
在活动课上
class MainActivity extends Activity{ protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new AsynTask1().execute(); int i=0; while(i<100) { if(i%2==0) new AsynTask2().execute("no is even"+i); i++ } }}
在上面的例子中,不执行AsynTask2.
如果尝试使用executeOnExecutor(AsyncTask.THREAD_POol_Executor,params),则执行asyntask并从AsynTask2获取打印消息,但这些消息不是按顺序排列的(如0 2 6 4 10 8 12 14 ….).
有没有办法连续执行AsynTask1和顺序顺序的AsynTask2,以防止顺序(如0 2 4 6 8 10 12 14 ….).
谢谢&问候
微型.
解决方法:
使用SERIAL_EXECUTOR for Asynctask2
new AsynTask2().executeOnExecutor(AsyncTask.SERIAL_EXECUTOR ,"no is even"+i)
编辑:
用于Asynctask1,因此不使用相同的执行程序
new AsynTask1().executeOnExecutor(AsyncTask.THREAD_POol_Executor,params);
总结 以上是内存溢出为你收集整理的在android4.0中按顺序执行异步任务全部内容,希望文章能够帮你解决在android4.0中按顺序执行异步任务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)