趁着西安出差,学习了几个框架,稍作总结

1、Glide框架原理

该框架类似于顾客去银行办业务,顾客很多,但是银行的消费窗口有限,银行应该建立消费窗口,每个窗口都是挨个自动的从任务队列中取任务。

请求类:BitmapRequest.java,

任务处理类,也就是图中的消费窗口,其初始化时应该包含有任务队列,一旦工作就不断(无限循环)从任务队列中取出任务进行处理。

**管理者:**RequestManager,利用任务队列去建立消费窗口,并且启动他们
Android学习——OkHttp、EventBus、Glide核心框架一句话说明

2、OkHttp框架原理

框架原理是建立线程池,利用调度线程,不断的取任务进行处理:
Android学习——OkHttp、EventBus、Glide核心框架一句话说明请求:Request,activity发送很多请求,请求封装成Request类,其中包含URL等信息,包含有execute()方法,可以发起请求任务。

请求任务:HttpTask,包含有request,并且能够自主开线程运行,最终会被添加到任务队列中。
Android学习——OkHttp、EventBus、Glide核心框架一句话说明

线程池管理者:创建一个线程池进行管理,ThreadPoolManager,其中包含有请求队列Request,同时包含有一个调度线程,不断的从请求队列中国去取请求,扔给线程池进行处理。Android学习——OkHttp、EventBus、Glide核心框架一句话说明

3、EventBus框架原理

创建EventBus类,由getDefault返回单例对象

其中register方法,会循环查找注册的类中所有被标注了@Subscribe的方法,兵=并且加入到队列中。

post方法会无限循环,查找消息队列,如果有可以处理的方法,就进行反射调用。

相关文章:

  • 2021-10-22
  • 2021-07-28
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2021-11-29
  • 2021-09-26
  • 2022-12-23
猜你喜欢
  • 2021-10-03
  • 2021-08-10
  • 2022-02-07
  • 2021-08-19
  • 2021-12-08
  • 2021-10-12
  • 2021-08-13
相关资源
相似解决方案