输出的文章 |
---|
Retrofit + OkHttp +RxJava 网络库构建及项目实践 <u>http://ks.netease.com/blog?id=792</u> |
列表Item被复用时,上个被复用的Item的定时器如何处理,定时器的归属问题 |
如果某个Item没被复用,且不可见了(不管是否被RecycleView回收)。那么它里面的定时器何时销毁,如何销毁 |
倒计时数据如何更新 |
某个Item有倒计时,接口刷新之后,没有这个倒计时了,如何销毁它的定时器 |
列表下拉刷新时,当前列表中的定时器如何管理,是否存在重复创建定时器的问题 |
列表滚动时或某个Item不可见时,如何停止该定时器 |
列表中存在大量定时器,如何保证性能问题 |
列表中使用倒计时存在问题
在列表(RecycleView/ListView)中使用倒计时会有哪些问题 |
---|
列表Item未创建时,定时器不执行,倒计时时间无法更新,此时倒计时时间不准 |
列表Item被复用时,上个被复用的Item的定时器如何处理,定时器的归属问题 |
如果某个Item没被复用,且不可见了(不管是否被RecycleView回收)。那么它里面的定时器何时销毁,如何销毁 |
倒计时数据如何更新 |
某个Item有倒计时,接口刷新之后,没有这个倒计时了,如何销毁它的定时器 |
列表下拉刷新时,当前列表中的定时器如何管理,是否存在重复创建定时器的问题 |
列表滚动时或某个Item不可见时,如何停止该定时器 |
列表中存在大量定时器,如何保证性能问题 |
支持功能 | Android原生定时器 / 倒计时 | FlyTimerManager | Android 领域 | iOS 领域 |
---|---|---|---|---|
支持定时器 | √ | √ | × | √ |
支持倒计时 | √ | √ | × | √ |
延时启动 | √ | √ | × | √ |
列表滚动时不回调 | × | √ | × | × |
列表Item不可见时不回调 | × | √ | × | × |
列表中便捷使用(ViewHolder代理) | × | √ | × | × |
支持异步回调 | √ | √ | × | √ |
支持线程选择(解决阻塞问题) | × | √ | × | × |
自动移除定时器回调 | × | √ | × | × |
自动销毁定时器 | × | √ | × | × |
自动Resume/Pause | × | √ | × | × |
自定义生命周期而触发事件 | × | √ | × | × |
支持cancel | √ | √ | × | √ |
对定时器分页面分组管理 | × | √ | × | × |
一个时间频率一个底层定时器 | × | √ | × | × |
便捷的API调用 | × | √ | × | √ |
代码侵入性低 | × | √ | × | / |
性能表现突出 | × | √ | × | / |