
1 Lin0936 Apr 22, 2020 kotlin 协程是靠编译实现的, Android API 版本没有限制. 正在用 Kotlin + Jetpack 全套弄一个 APP, 坑也多, 不过写起来确实很爽 |
3 Tolcol Apr 22, 2020 写起来很爽,正在用,主要是觉得 RxJava 包太大了,用的地方也不是很多,可以节约 2M+的包大小 |
4 gz911122 Apr 22, 2020 怎么听得不多.. 现在不都在用么? |
5 yumerdev93 Apr 22, 2020 以前刚接触 rxjava,惊叹「哇,还可以这样」,现在用了协程后觉得 rxjava 繁琐死了,不会再使用,现在项目依赖已经没有 rxjava 了。 |
6 jinhan13789991 Apr 22, 2020 已经在用了 ```kotlin override fun onClickInsertImage() { MediaSelectService().openGallery(context, MediaType.图片, 9) .flatMapConcat { it.asFlow() } .flatMapConcat { FileUploadService() .uploadFile(UriUtils.uri2File(it).absolutePath, type) .onStart { showLoadingListener.invoke(true) }//上传第一张就显示 dialog } .onCompletion { showLoadingListener.invoke(false) }//上传结束隐藏 dialog .onEach { insertImage(it) }//插入图片 .launchInAndHandleError(scope) } ``` MediaSelectService()是对 PermissionsUtils 和 RxImagePicker 的封装,会申请对应的权限,然后打开页面返回图片地址列表。 FileUploadService() 是对云存储的封装,会调用接口,拿到上传 token,再调用腾讯云的上传 sdk,最后拿到上传后的图片连接。 最后是把图片插入到富文本里。 launchInAndHandleError() 是对 kotlin 协程流的扩展方法,主要是全局统一处理错误异常。 我只能说,太 TMD 好用了。 |
7 jinhan13789991 Apr 22, 2020 Markdown 失败~ |
8 jeremaihloo Apr 22, 2020 现在应该都在用吧,我反正两个项目在用了 |
9 wysnylc Apr 22, 2020 |
10 binbinyouliiii Apr 22, 2020 via Android 我觉得协程的特性在这种客户端上没什么明显的优点 |
11 youxiachai Apr 22, 2020 因为...协程用起来太简单了..没啥值得说的... 你说协程的原理....的话..又不局限与 kotlin.... |
12 jinhan13789991 Apr 22, 2020 @binbinyouliiii 提升编程效率,简化代码结构。这还不算优点吗? |
14 whyrookie Apr 22, 2020 kotlin 协程+jetpack,很香的 |
15 youxiachai Apr 22, 2020 @wysnylc 老实说,协程本质是一个状态机的规范...... 我很难理解有些人说什么假协程.... 讨论协程的性能的...就是实现上的区别..... 问题是,协程本质是个状态机的问题....扯实现..就扯远了...跟谈不上对比... 都是出自一个妈的论文... 感觉就跟讨论粘包一样,都不对口... |
16 richard1122 Apr 22, 2020 小坑不少,但是挺好用的。特别是从比较上层就进入携程,工具什么的都可以提供 suspend method |
17 binbinyouliiii Apr 22, 2020 via Android @jinhan13789991 你编写效率再高,也不如符合直觉的传统编程啊 |
18 rosu Apr 22, 2020 via iPhone 新项目可以考虑加入。迭代旧代码就算了。suspended method 要包住一个同步方法,不然不用协程就无法调用。 |
19 nicevar Apr 22, 2020 对写客户端来说,不太实用,个人觉得没有对编程效率没有任何提升,kotlin 的代码已经能做到很简洁了,很多时候还不如对上层进行一定的封装 |
20 gz911122 Apr 22, 2020 @binbinyouliiii 协程不比回调或者 rx 更符合直觉么? |
21 binbinyouliiii Apr 22, 2020 via Android @gz911122 我说的就是异步编程在客户端上优点不明显 |
22 gz911122 Apr 22, 2020 |
23 zhouquanbest Apr 22, 2020 百度输入法好像再用吧 量挺大 我们生产环境不敢上,毕竟很多人线程都没搞明白,我们 apm 监控体系都没支持它,万一写坑了还不好找。 现在像 gradle 插件啊 不影响运行时的地方 我们都开始用了 |
24 binbinyouliiii Apr 22, 2020 @gz911122 #22 我不知道我们理解的是不是一样的,你说的都是异步是指操作类的异步吧,我说的异步是指充分利用 CPU 的这种异步,客户端按理说需要这种的场景比较少。 |
25 gz911122 Apr 22, 2020 @binbinyouliiii 我说的就是通常的异步啊. 点击按钮,发起请求,显示结果. 这不是一个典型的异步场景吗? 说确切点,移动端上除了 ui 操作,都需要异步啊. 没明白你说的什么意思,也没太懂为啥移动端上要充分利用 cpu,拿用户手机挖矿吗? |
26 gz911122 Apr 22, 2020 @binbinyouliiii 你给我造成的感觉是,你是做 java 后端的,对 android 开发并不熟悉. 你讲的仿佛是并发而不是移动端上通常所说的异步. |
27 WebKit Apr 22, 2020 via Android 已经在用了。是很方便 |
28 WanzizZ Apr 22, 2020 哈哈 今晚和明晚扔物线有个课程专门讲 kotlin 协程的,两分钱,可以白嫖看看 https://ke.qq.com/course/2204707?tuin=9c77727#term_id=102307391 |
29 hantsy Apr 22, 2020 Google 官方都有视频 Kotlin 系列教程,包括 Kotlin coroutines 在 Android 上应用,(我虽然不做 Android ) |
30 AliMaster Apr 22, 2020 kotlin 协程在安卓上是用线程池实现的一套线程池框架,不愿意翻源码可以看看扔物线朱凯的视频和文章 https://kaixue.io/tag/kotlin-coroutines/ |
31 Vedar Apr 22, 2020 koltin 的就是真正协程 和 python js 的一样,倒是 go 的不能叫协程 不是一个东西 |
32 hlayk Apr 22, 2020 多尝试 你会喜欢上的 |