MultiAsynctask 介绍
MultiAsynctask,相当于Asynctak,核心不同。系统的AsyncTask在不同版本的API的并发策略是不同的,在Android4.0以上只能运行一个Asynctask。Multiasynctask可以同时做更多的子线程做的事情。默认为5个,且线程池的线程个数是可以修改的。
使用方式如下,基本和系统API相同:
public class LongAsynctask extends MultiAsynctask<Paramer, Updater, Resulter> { @Override public void onPrepare() { } @Override public Resulter onTask(Paramer... params) { Paramer paramer = params[0]; Logger.i("onTask打印:" + "what:" + paramer.getWhat() + ";value:" + paramer.getValue()); for (int i = 0; i < 10; i++) { paramer.setValue(paramer.getValue() + 1); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printstacktrace(); } Updater updater = new Updater(paramer.getWhat(), paramer.getValue()); postUpdate(updater); } return new Resulter(paramer.getWhat(), paramer.getValue()); } @Override public void onUpdate(Updater update) { Logger.i("onUpdate打印:" + "what:" + update.getWhat() + ";value:" + update.getValue()); } @Override public void onResult(Resulter result) { Logger.i("onResult打印:" + "what:" + result.getWhat() + ";value:" + result.getValue()); } }
MultiAsynctask 官网
https://github.com/Y0LANDA/MultiAsynctask
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。