oynix

于无声处听惊雷,于无色处见繁花

Channel,直译过来就是通道的意思,有从通道读取别人数据的通道,也有将数据写给别人的通道,当然,也有既可以读数据也可以写数据的通道。这是通俗的解释,专业一点来讲,通道就是生产者消费者的模型。

阅读全文 »

Kotlin的Flow和RxJava有着很多相似之处,提供了很多操作符来操作数据流。简单写一些使用笔记

阅读全文 »

上篇文章简单说了OkHttp的使用,这篇来说Retrofit。同样,Retrofit也是Square公司出品。

阅读全文 »

说到网络请求框架,OkHttp应该是当下较为流行的了,原因就在于它简单易用,且高效。同样,也是Square公司的作品。

阅读全文 »

LeakCanary主要用在Android中分析内存泄漏。何为内存泄漏?简单说便是,当一个对象所占用堆存储空间该被系统GC回收时,却由于种种原因没有被回收,那么这些内存就称为泄漏的内存。举个例子,退出一个Activity时,这时这个Activity该被回收,但是因为Activity内声明的Thread还在跑,Thread持有Activity的引用,导致Activity无法被回收,这时就造成了内存泄漏。

阅读全文 »

tee,这个单词没有什么实际性的含义,就是T型管道的意思,在--的基础上,变成T型,这样就多了一个输出。所以,这个命令的作用就是,在不改变输出原有行为的基础上,将其额外的导向文件中。

阅读全文 »

当需要打开一个URL时,常规操作是用系统浏览器打开,很方便、便捷,不足之处就是只能显示,无法交互。使用SDK提供的WebView可以解决这一点,自然也需要多做一些额外的工作。

阅读全文 »

我们在View中绘制的内容,是由系统绘制的,每隔16ms,系统发出一次VSYNC信号,重新绘制屏幕,这个操作在主线程,所以如果我们在两次绘制之间做的操作耗时超过16ms,页面就会出现卡顿。而SurfaceView则是由我们主动绘制,在子线程,不会卡主线程,同时,SurfaceView实现了双缓存机制。

阅读全文 »