什么是红黑树 红黑树,Red-Black Tree 「RBT」是一个自平衡(不是绝对的平衡)的二叉查找树(BST)。 红黑树是在1972年由Rudolf Bayer[http...
一. Kotlin Flow 介绍 Flow 库是在 Kotlin Coroutines 1.3.2 发布之后新增的库。 官方文档给予了一句话简单的介绍: Flow — c...
前面我们使用Java来运用JetPack中的一系列组件[//www.greatytc.com/nb/51166049],又使用kotlin运用这些组件实现了一系列功...
简介 suspendCoroutine 的使用 suspendCancellableCoroutine的使用 Retrofit是如何支持协程的 suspendCoroutin...
写在前面 本文翻译自 Android Studio Tips by Philippe Breault,一共收集了62个 Android Studio 使用小技巧和快捷键。 根...
debounce补充: 两个相邻数据发射的时间间隔决定了前一个数据是否会被丢弃,然而demo代码中5是最后一个数据,所以后面设置的510ms并不影响它是否被丢弃,也仅仅起一个线程等待时间的作用吧。代码分析如下:
emitter.onNext(1); // skip 先收到一个1
Thread.sleep(400);
emitter.onNext(2); // deliver 过了400ms收到一个2,小于设定时间500ms,把前一个丢掉,现在只有一个2
Thread.sleep(505);
emitter.onNext(3); // skip 过了505ms收到一个3,符合设定时间,保存,现在是2、3
Thread.sleep(100);
emitter.onNext(4); // deliver 过了100ms收到一个4,小于设定时间,把前一个丢掉,丢掉3,保存4,现在是2、4
Thread.sleep(605);
emitter.onNext(5); // deliver 过了605ms收到一个5,符合设定时间,保存,现在是2、4、5
Thread.sleep(510);
emitter.onComplete();
作者:李旺成 时间:2016年5月25日 简介 SlidingPaneLayout 可能很多人都没用过,但这并不是一个新控件。SlidingPaneLayout 是 Supp...
背景 一般大家在写页面时都是通过xml写布局,通过setContentView、或LayoutInflater.from(context).inflate方法将xml布局加...
"Read the fucking source code" -- linus一句名言体现出了阅读源码的重要性,学习别人得代码是提升自己的重要途径。最近用到了LeakCana...