
coroutine
文章平均质量分 91
mjlong123123
10年的Android开发经验。
展开
-
Android app 中这样用flow更方便-巧用flow实现polling
背景 在app开发过程中,实现polling逻辑也是很常见的。当然在移动端应用使用polling处理会影响应用的性能。比如polling处理增加了网络请求的次数,服务端压力增加。polling处理也消耗了更多的网络流量。但是应用polling的场景还是有的。有时是否选择polling要考虑很多综合的因素,比如我们可以使用长连接替代polling,但是长连接在服务端和客户端的开发成本相对要更高些,如果polling只是实现类似的跟帖等功能,我们完全可以使用polling实现,而不是选择代价更...原创 2021-10-01 22:49:53 · 1369 阅读 · 0 评论 -
Android app中这样用flow更方便-刷新token获取数据
背景移动app中展示的数据多数都是通过服务器接口获取的,当接口数据与用户相关时,服务端接口会要求客户端把用户信息通过接口发送到服务器。普遍的做法是把用户登录后的token数据发送给服务器的接口。考虑到安全问题,token都有过期时间,token过期后服务端就不能通过这个token查询用户的具体信息了。为了刷新过期token,服务端会提供一个刷新token的接口给客户端使用。问题分析由于要求上传token的服务端接口会有很多,所以这些接口的调用都需要考虑token过期失效问题...原创 2021-09-22 22:58:31 · 1253 阅读 · 0 评论 -
Android app中这样用flow更方便-加载列表数据
背景flow简单的可以理解为数据流,它可以生成连续的同类型数据。刚接触到flow的开发者都很疑惑,它的功能好像都有东西可以替代。比如通过foreach遍历Collection或Sequence都能有flow一样的生成数据效果,那为什么还要引入flow呢。大家可能会认为flow实现了观察者模式,这点与collection或sequence的遍历不同。其实LiveData就是按照观察者模式设计的,LiveData配合集合的遍历就可以达到数据被观察的目的。 刚接触flow...原创 2021-09-20 22:55:33 · 1682 阅读 · 0 评论 -
Kotlin Coroutine实现原理
lifecycleScope.launch { Log.d("testCoroutineScope","testCoroutineScope start $this") delay(2000) Log.d("testCoroutineScope","testCoroutineScope middle1") delay(2000) Log.d("testCoroutineScope","t.原创 2021-09-06 22:23:50 · 604 阅读 · 0 评论