![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 67
叶国豪
这个作者很懒,什么都没留下…
展开
-
RxJava zip 源码分析
zip 方法接收多个数据源(也就是 observable)和一个用来合并数据的 BiFunction 接口。zip 会创建一个 Observale 对象,在这个对象被订阅时,会为每个数据源创建一个 Observer,你的数据源发出的数据都会被这些 Observer 接收。zip 创建的每一个 Observer 都有一个队列,接收到数据先放到队列里,然后去检查其它 Observer 有没有数据。如果...原创 2018-04-20 01:26:27 · 626 阅读 · 0 评论 -
对 Groovy 闭包(this、owner、delegate)的理解
this 指向定义闭包的对象或静态类owner 跟 this 一样,如果闭包定义在另一个闭包内部,owner 就指向此闭包delegate 跟 owner 一样,但可以修改别的语言的闭包,比如 Java,在闭包里访问变量或者调用方法,寻找这些变量和方法的顺序是:1、闭包作用域2、方法作用域 / 外层闭包作用域3、类作用域Groovy 的顺序是:1、this2、owner3、delegate在 th...原创 2018-04-20 16:52:11 · 1915 阅读 · 0 评论 -
属性动画原理与仿写
属性动画的运行步骤:1、往消息队列里 post 消息2、计算动画当前值3、把计算出来的值设置给 target (通常是 View)4、回到第一步第二步又分为三个步骤:1、计算动画运行至今的时间2、把第一步得到的时间传给时间插值器获取真正用来计算值的时间3、把第二步得到的时间传给值提供器获取对应的值(比如传给 int 值提供器获取 int 值,传给颜色值提供器获取颜色值)我仿写的动画框架 Demo ...原创 2018-04-21 16:46:45 · 131 阅读 · 0 评论