公司用法:
在异步线程中使用上级类且唯一的Handler,去代理整个工作流程中的界面修改,包括在使用异步线程的类中,也由该Handler 去做代理,而抛弃了AsyncTask在doInBackage过程中的使用。
这样做的好处是调用并引用其他类的方法的时候可以向下传递这个界面修改的代理(在方法中预留一个Handler参数,提供Handler传递的入口),相当于总控,节约了内存空间(空间换时间了,有可能降低效率,不过在目前可以忽略不计)。
不好的地方,就是没办法控制Handler的工作性能,和可能会非法暴露数据的危险,并且由于使用的是弱引用的传递,所以不能保证数据的生存期,所以不能向下做太深度的传递。