文章目录
一、释放协程资源
二、使用 use 函数执行 Closeable 对象释放资源操作
三、使用 withContext(NonCancellable) 构造无法取消的协程任务
四、使用 withTimeoutOrNull...函数构造超时取消的协程任务
一、释放协程资源
----
如果 协程中途取消 , 期间需要 释放协程占有的资源 ;
如果执行的协程任务中 , 需要 执行 关闭文件 , 输入输出流 等操作 , 推荐使用...withContext(NonCancellable) 构造无法取消的协程任务
----
如果在 finally 中需要使用 suspend 挂起函数 , 则 挂起函数以及之后的代码将不会被执行 ;..., 可以构造一个无法取消的协程任务 , 这样可以避免 finally 中的代码无法完全执行 ;
withContext(NonCancellable) {
Log.i(TAG, "释放协程占用的资源...withTimeoutOrNull 函数构造超时取消的协程任务
----
使用 withTimeout 函数 , 可以构造超时取消的协程任务 , 在下面的代码中 , 构造的协程任务 , 超时 1000