加速 Android Studio 编译过程

rain | 移动 | 2016-05-15
加速 Android Studio 编译过程
Android Studio 2.1 包含一个新的特性: Dex In Process ,该功能可以提高重新编译的速度,也能提高 即刻运行的效率(Instant Run performance)。 为了启用该功能, 需要修改项目中的 gradle.properties 文件的 org.gradle.jvmargs 值,增加 Gradle Daemon 虚拟机需要的内存,最少需要 2GB 内存 [crayon-58b3f3f3adbc9044888806/] Gradle Daemon ... [阅读全文]

RxJava 的 compose() 操作函数实战

rain | 移动 | 2016-05-12
如果你对 RxJava 还不了解,请参考Intro To RxJava 系列教程,如果你看了其中的自定义操作函数后,认为 compose 操作函数只在自定义操作函数中才需要使用,则 Dan lew 通过这篇文章告诉你,并非如此。 很多情况我们都可以使用 compose 函数。 RxJava 一大特性就是串联调用各种操作函数,这样代码看起来比较整洁,也能清晰的表达代码所要实现的功能,例... [阅读全文]
ė 0

RxJava 参考资源

rain | 移动 | 2016-05-10
通过弹子图(Marbles)可以帮助理解 RxJava 中的各种操作函数。通过实例代码可以加深了解每个操作函数。 下面是几个非常好的学习 Rxjava 的工具: http://rxmarbles.com/ : 这个网站通过交互图形介绍了很多 RxJava 中的操作函数。选择要查看的操作函数,然后显示该函数的 Marble 图,该图是可以交互的,可以用鼠标拖动每个数据的位置,查看输出的结果... [阅读全文]
ė 0

Google Agera 从入门到放弃

rain | 移动 | 2016-05-06
概述 Google Agera 是两周前 Google 开发团队开源出来的另外一个响应式编程(Reactive programming)框架。根据 Github 上的讨论结果,笔者猜测这个框架是这样形成的: Google Play Movie 是 谷歌 Android 上的一个浏览电影、购买电影、观看电影的 App,而谷歌的开发人员在开发 Google Play Movie 的时候(这个时候 RxJava 应该还没有发布呢?),根据... [阅读全文]
ė 0,

Intro To RxJava 系列教程 总结

rain | 移动 | 2016-05-03
Intro To RxJava 系列教程一共四个部分,第一部分介绍了为什么要使用 RxJava以及 RxJava的关键概念: RxJava 教程第一部分:入门之 Why Rx RxJava 教程第一部分:入门之 关键的类 RxJava 教程第一部分:入门之 生命周期管理 如果看完第一部分对于为什么要使用 RxJava 和 何时使用 RxJava 还不太明白的,可以参考 RxJava 前传: RxJava 前传 ① RxJava ... [阅读全文]
ė 0

RxJava 教程第四部分:并发 之数据流发射太快如何办

rain | 移动 | 2016-04-26
RxJava 教程第四部分:并发 之数据流发射太快如何办
Backpressure Rx 中的数据流是从一个地方发射到另外一个地方。每个地方处理数据的速度是不一样的。如果生产者发射数据的速度比消费者处理的快会出现什么情况?在同步操作中,这不是个问题,例如: [crayon-58b3f3f3b919e658070381/] 虽然上面的消费者处理数据的速度慢,但是由于是同步调用的,所以当 o.onNext(1) 执行后,一直阻塞到消费者处理完才... [阅读全文]

RxJava 教程第四部分:并发 之意外情况处理

rain | 移动 | 2016-04-26
RxJava 教程第四部分:并发 之意外情况处理
Rx 尽量避免状态泄露到数据流之外的场景。但是有些东西本身就带有状态。比如服务器可以上线和离线、手机可以访问Wifi、按钮被按下了等。在 Rx 中国,我们在一段时间内看到这些事件,并称之为窗口(window)。其他事件在这个窗口内发生可能需要特殊处理。例如,手机在使用移动收费上网的时候,会把网络请求优先级降低,来避免天价流量费的情况。 窗口 W... [阅读全文]

RxJava 教程第四部分:并发 之测试

rain | 移动 | 2016-04-26
在开发软件的时候,我们需要确保代码正确执行。为了快速的获取每次修改后的反馈,通常开发人员使用自定义测试。 在同步的 Rx 中测试和普通 Java 中的单元测试没有太大的区别。如果要测试异步代码,可能会有点需要注意的地方,比如要测试下面的代码: [crayon-58b3f3f3bd1bb900526215/] 上面的 Observable 发射一个数据流,需要 5秒 来发射完所有的数... [阅读全文]
Ɣ回顶部