前言:因为在项目中获取网络就会出现耗时操作,便需要用到异步的方式将耗时操作与组件分开,于是去找了视频去学习异步加载,在此对整体的思想做个总结并附上部分源码。
android中的异步加载:Android中,异步实现,一般用handler和AsyncTask,通常handler是一个消息栈,而AsyncTask不是。
具体区别:AsyncTask比Java原始的Thread更灵活和强大,但对于轻量级的使用更为占用系统资源。Thread是Java早期为实现多线程而设计的,比较简单不支持concurrent中很多特性在同步和线程池类中需要自己去实现很多的东西,对于分布式应用来说更需要自己写调度代码,而为了Android UI的刷新Google引入了Handler和Looper机制,它们均基于消息实现,有事可能消息队列阻塞或其他原因无法准确的使用。