扔物线给Android开发者的RxJava详解文章中的例子
项目名称 | 项目信息
学习下RxJava操作符.
一、Obervable的创建
1.create 2.from 3.just
常见操作
1.repeat重复
2.range 从一个指定的数字x开发发射n个数字 range()函数用两个数字作为参数:第一个是起始点,第二个是我们想发射数字的个数。
interval轮询 第一个参数延时,第二个参数间隔,第三个参数单位
timer 延迟执行 (官方已废弃轮训方法,推荐用interval) 第一个参数为延迟执行的时间,第二个为时间单位
二、过滤
1、filter
2、take take()函数用整数N来作为一个参数,从原始的序列中发射前N个元素,然后完成.takeLast相反取后面的对应N个元素
3、Distinct 去除重复
4、DistinctUntilsChanged //它能轻易的忽略掉所有的重复并且只发射出新的值。
5、First and last 只发射第一个元素或者最后一个元素。
6、skip和skipLast 跳过前面和后面N个元素 与take 对应
三、变形
map 1对1 的变形
flatMap 1->Observable 的变形
ConcatMap 与flatMap对应 维持元素顺序 flatMap是合并多次操作的结果 ConcatMap是顺序依次连接每次操作的结果.
SwitchMap 和flatMap()很像,当源Observable发射一个新的数据项时,如果旧数据项订阅还未完成,就取消旧订阅数据和停止监视那个数据项产生的Observable,开始监视新的数据项.
Scan 类似于递归
lift compose
作者 | 文章 | 参考的地方 |
---|---|---|
扔物线 | 给Android开发者的RxJava详解 | 示例代码 |
胡凯 | 高效加载大图 | Bitmap压缩算法 |
intbird | Android OOM ,回收布局文件中ImageView占用的内存.Bitmap OOM回收解决. | Bitmap回收 |
任玉刚 | Android开发艺术探索 | BitmapFactory解析的配置 |
徐宜生 | Android群英传 | Canvas的使用 |
shwenzhang | Android内存优化杂谈 | 内存优化 |