为了提高流畅性,耗时任务放后台线程运行,已是APP开发的常识了。关于异步有很多方案,当前最流行的,莫过于RxJava了;更早一些时候,还有AsyncTask(骨灰级的API)。总的来说,AsyncTask构思精巧,代码简洁,使用方便,有不少地方值得借鉴。当然问题也有不少,比如不能随Activity销毁而销毁导致的内存泄漏,还有不适合做长时间的任务等。笔者以AsyncTask为范本,写了一个“加强版的异步任务框架”:保留了AsyncTask的所有用法,解决了其中的一些问题,同时引入了一些新特性。接