1 用AsyncTask做异步加载写起来很方便,以前用sdk2.2,2.3开发时没出现什么问题,就由于一点不好页面退出后这个AsyncTask还回继续运行,但也不影响用户使用了。
2 但用sdk4.0开发时发现AsyncTask这个东西在进程中只有一个在运行,一个执行完毕后,另一个AsyncTask才会执行。那么你进入一个页面后还没有请求道数据后,就退出页面,在进入其他的页面,其他页面的AsyncTask不能被立即执行,使体验变的很差。
3 刚开始我想退出页面时就结束AsyncTask的运行,但试了一些方法都没办法办到,即时能办到效果也很不理想。后来查找资料说3.0以后AsyncTask被改成串行的了,那么使用它时在把他改成并行的就可以了。
4 AsyncTask().executeOnExecutor( Executors.newFixedThreadPool(10));用这个方法给它创建个线程池就可以了。