官网介绍:https://developer.android.com/kotlin/coroutines一、的概念(Coroutines)是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。 是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,有助于管理长时间运行的任务.二、的特点是在 Android
转载 2023-09-11 21:44:05
170阅读
# 在Android中实现Retrofit的指南 是Kotlin中一种用于简化异步编程的方式,而Retrofit则是用于网络请求的一个非常流行的库。结合这两者,你可以有效地处理网络操作。本篇文章将带领你一步一步实现使用Retrofit进行网络请求的功能。 ## 整体流程 在实现“AndroidRetrofit”之前,我们先了解一下整个实现流程。下表展示了实现的步骤: |
原创 10月前
80阅读
简介在项目中,经常会遇到这样的场景:1. 页面消失,网络请求依然存在,不光占用内存,而且还会导致内存泄露,久而久之占用内存越来越大,越来越卡。2. 异步网络请求一大堆的CallBack,让你不得不多写N段代码。现在好了,下面通过对Retrofit的扩展,让你摆脱这些痛苦框架设计 框架图 如图:拓展Retrofit实现LifecycleObserver接
解决异步的其中一个办法是“”;意思是多个线程互相合作,完成异步任务;function* asyncJob() { // ...其他代码 var f = yield readFile(fileA); // ...其他代码 }一、的运行流程大致:A开始执行;A执行到一半,进入暂停,执行权转移到B;(一段时间后),B交换执行权;A恢复执行。上面代码的函数async
flow 介绍之前介绍的启动方法,比如 launch、async 都是的单次启动。如果有复杂场景,比如发送多个数据,就需要使用 flow 数据流。在 flow 中,数据如水流一样经过上游发送,中间站处理,下游接收。创建 flow创建 flow 有 3 种方式:flow{}flowOf()asFlow()flowflow{} 中使用 emit 发送数据。fun flowEmit() = ru
转载 2024-04-03 15:18:48
468阅读
Retrofit2简单使用1,添加依赖2,新建javabean类,解析并保存请求到的数据3,新建java接口,实现请求4,使用Retrofit完成Get请求1,初始化Retrofit获取请求对象2,请求回调,获取请求成功或失败的数据5,注解说明网络请求方法网络请求完整的url@HTTP标记6,网络请求参数1,作用在请求接口的方法上2.请求参数说明@Header & @Headers@Bo
转载 2023-08-07 12:09:45
141阅读
coroutine一、基本概念1.1、什么是定义即cooperation routine,基于线程,它是轻量级线程解决什么问题1、处理耗时任务,这种任务常常会阻塞主线程。 2、保证主线程安全,即确保安全地从主线程调用任何suspend函数。原理让异步逻辑同步化,杜绝回调地狱。 最核心的点就是,函数或者一段程序能够被挂起,稍后再在挂起的位 置恢复。1.2、与异步任务对比示例:
转载 2023-08-17 16:51:02
884阅读
如遇图片无法查看请点击此链接retrofit源码分析笔记(一)上一篇我们分析了最简单的retrofit用法,其实只需要添加合适的CallAdapter就可以结合LiveData,和Rxjava。 这篇文章主要是介绍Retrofit是怎么适配Kotlin的。 首先我们看一下Retrofit适配的写法[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3YxM85ka
转载 2023-11-25 20:12:53
33阅读
本系列文章Android 上的(第一部分):了解背景Android 上的(第二部分):入门Android上的 (第三部分): 实际应用Android 上的(第二部分):入门背景回顾在第一部分中,我们探讨了擅长解决的问题。回顾一下,是解决两个常见编程问题的好方法:长时间运行的任务是花费太长时间阻塞主线程的任务。Main-safety允许您确保可以从主线程调用任何挂起函数。 为
转载 2023-07-05 12:11:54
268阅读
文章目录引言实战1、引入开源库2、简单封装3、开始使用MVP架构模式MVVM架构模式 看[这里]() 引言目前做APP网络API请求Retrofit+OkHttp+Kotlin应该是比较流行的,相比之前Retrofit+RxJava 有了太多的优势,Rx可以做的事情,一样可以做,而且可以做到更方便,更简洁。还不会用的童鞋可以看下这篇[Kotlin:玩转],接下来我们进行网络请求框
前面两篇文章介绍了的一些基本概念和基本知识,这篇则介绍在Android中如何使用配合Retrofit发起网络请求,同时介绍在使用时如何优雅的取消已经发起的网络请求。需要文章中demo完整代码的同学可以私我。创建CoroutineScope在前面的文章中我写到CoroutineScope.launch方法是一个很常用的构建器。因此使用必须先得创建一个CoroutineScope对
转载 2023-08-31 16:24:49
109阅读
这篇文章不是用来讲概念的, 只是用来谈论一些关于Android 进程\那些问题1. android 子线程中的异常会引发crash闪退吗?答案是会的Thread{ throw RuntimeException("this is a error") }.start()异常21741 2379 E AndroidRuntime: java.lang.RuntimeException: this
在我们使用Retrofit 1.9时,我的同事创建了以下public class SomeApiCallAction {private Subscription subscription;private NoInternetConnectionInterface noInternetConnectionInterface;public interface NoInternetConnectio
转载 2023-09-26 17:20:30
53阅读
一、概述Kotlin的很好用,相信大家都用上了,也觉得很香,这不,Retrofit在最近的几个版本中就支持了,更加方便我们处理网络请求。这里不说的用法,我比较好奇Retrofit是怎么识别并处理我们写的suspend方法,下面就以retrofit:2.8.1的版本来看看究竟是如何实现的。二、java眼中的suspend在研究Retrofit代码之前,我们先看一个问题,kotlin完全兼
0x0、引言Kotlin 1.3 版本开始引入 Coroutine,简练的官方文档和网上一堆浅尝辄止的文章让我心里有些没底,不想止步于仅仅知道:① Android中,Kotlin用于解决:处理耗时任务 和 保证主线程安全; ② 利用Kotlin,可以用看起来:同步 的方式编写 异步 代码; ③ Kotlin基础API调用;我还想了解更多,如的概念,Kotlin在实际开发中的
转载 8月前
32阅读
Android 上的 Kotlin 是一种并发设计模式,您可以在 Android 平台上使用它来简化异步执行的代码。是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,有助于管理长时间运行的任务,如果管理不当,这些任务可能会阻塞主线程并导致应用无响应。使用的专业开发者中有超过 50% 的人反映使用提高了工作效率。本主题介绍如何
转载 2023-09-22 20:23:46
48阅读
文章目录CoroutineScope 作用域Job 工作任务CoroutineContext 上下文Job 生命周期父 CoroutineContext 说明 本系列博客文章深入探讨了中的取消和异常。取消对于避免做多余的工作很重要,这会浪费内存和电量;正确的异常处理是良好用户体验的关键。作为本系列其他 3 部分(第 2 部分:取消,第 3 部分:异常,第 4 部分:不应取消的工作的
转载 2024-05-28 20:20:05
50阅读
今天我们来聊聊Kotlin的Coroutine。如果你还没有接触过,推荐你先阅读这篇入门级文章What? 你还不知道Kotlin Coroutine?如果你已经接触过,但对的原理存在疑惑,那么在阅读本篇文章之前推荐你先阅读下面的文章,这样能让你更全面更顺畅的理解这篇文章。Kotlin实现原理:Suspend&CoroutineContext如果你已经接触过,相信你都
转载 2024-02-14 14:48:44
118阅读
文章目录golang常用库之-ants包 | golang池(goroutine池)背景什么是ants? 使用demo官方demo golang常用库之-ants包 | golang池(goroutine池)背景使用go关键字就可以方便快捷的创建一个goroutine,受限于服务器硬件内存大小,如果不对goroutine数量进行限制,会出现Out of Memory错误。通过池限制g
转载 2024-01-03 09:55:43
76阅读
/   基础概念   /今天我们来聊聊Kotlin的Coroutine。如果你已经接触过,相信你都有过以下几个疑问:到底是个什么东西?的suspend有什么作用,工作原理是怎样的?中的一些关键名称(例如:Job、Coroutine、Dispatcher、CoroutineContext与CoroutineScope)它们之间到底是怎么样的
  • 1
  • 2
  • 3
  • 4
  • 5