Livedata基本原理和股票行情数据

UI作为lifecycleowner,datasource作为lifecycleobserver;

反之datasource发生变化则version++并且dispatch给active的UI;

 

UI和datasource可以是多对多;

基于上述原理,任意object实现lifecycleowner就能成为一个可观察生命周期对象;

任意object实现lifecycleobserver,并且实现以下功能:1.根据lifecycleowner生命周期变化处理是否发送数据。2.当lifecycleowner生命结束时解除观察绑定。

glide的生命周期管理lifecyclelistener,以及

eventbus的订阅管理注册都是类似原理和实现。

股票行情数据:Datasource变化后version自增长,但是没有history data概念,可以自定义value对象为(数组,链表,队列)来实现history data。

股票分时数据:每天交易时间为241分钟,value对象为数组[241]即可。

股票历史k线数据:链表或者arraylist都可以当value。