【面向面试学习】如何在Android当中写出优雅的异步代码?

740 阅读1分钟

背景

先说说什么是丑陋的异步代码

  • 管生不管养,频繁直接new Thread,之后根本没有结束线程,终止线程、线程同步的代码,极易造成内存泄露或其他诡异的BUG
  • 回调地狱,多层异步回调,调试困难

优雅

  • 使用View,Activity自带的post、runOnUI方法,轻松从线程回到主线程
  • 使用Hadnler,实现异步回调主线程
  • 使用AnsyTask封装异步请求及回调
  • 使用线程池,复用并管理线程
  • 使用RxJava,彻底屏蔽多线程及回调细节,瀑布式调用方式彻底跳出回调地狱
  • 其他方式如非阻塞Future、消息队列Queen等后端成熟技术或框架