美文网首页
学习Glide是如何定制自己的Executors

学习Glide是如何定制自己的Executors

作者: Goach | 来源:发表于2018-10-29 15:34 被阅读4次

    在看Glide代码的时候看到了GlideExecutor这个类,它主要为Glide提供4种创建线程池的方式,实现的方式和Java里面的Executors是一样的,都是通过代理模式+ExecutorService来实现。

    既然是代理模式,那么代理类和被代理对象就会实现一个相同的接口,在这里这个接口就是ExecutorService,代理类就是GlideExecutor,被代理对象就是传进来的delegate这个对象。被代理对象主要通过ThreadPoolExecutor来创建的,创建的四种方式如下:

    1、第一种方式

    image

    2、第二种方式

    image

    3、第三种方式

    image

    4、第四种方式

    image

    这些方式创建的代理对象都会通过代理类的构造方法传进来,然后在代理类里面进行调用。

    另外,在创建newAnimationExecutor这个代理对象的时候有个很好用的方法,日后可以借鉴使用,获取cpu的个数

    calculateBestThreadCount

    image

    通过这个例子深入的理解代理模式之后,在以后遇到对象类型有多个,但是做的事情可以用一个类来统一代理,那GlideExecutor这种实现方式的思想就是很好的选择。


    Goach的开发日记.jpg

    相关文章

      网友评论

          本文标题:学习Glide是如何定制自己的Executors

          本文链接:https://www.haomeiwen.com/subject/qylktqtx.html