Service生命周期 上篇学习了Service一些基础知识,知道了在Service做耗时任务(网络请求、IO等等)需开启一个线程,否则会导致ANR,接下来通过实例加深Service的使用理解。Service种类及特点Service几种典型实例下面以模拟下载文件为例子1、不可交互的后台服务不可交互的后台服务即是普通的Service,是通过startService方法启动,其生命周期顺序是:onC
转载 2024-05-29 11:12:16
53阅读
Kotlin出奇地简单:仅仅让一些长期运行的操作放在launch里面,然后就好了,是这样的吧?对于简单的情况,当然如此了。但是很快,并发和并行固有的复杂性开始积累。当你进入的坑时,下面内容是你需要知道的。取消 + 阻塞式的任务 = ?没有办法绕过它:你必须在某些时候使用好Java流。 使用流的一个问题(很多?之一)是它们阻塞当前线程。 在世界中这是个坏消息。 现在,如果要取消协,则必
# 理解 Kotlin 中的 suspend 函数 在现代 Android 开发中,Kotlin 是一种强大且灵活的异步编程解决方案。特别是 `suspend` 函数,能够帮助我们简化异步代码的编写和维护。本文将详细阐述如何在你的 Android 应用中使用 Kotlin 的 `suspend` 函数。 ## 流程概述 在学习如何实现 `suspend` 函数之前,理解整个流
原创 9月前
95阅读
简单来说 Kotlin 一种异步编程的同步顺序写法,它跟线程是两个不同的概念,所以不要被 两字弄混淆来看一下一个具体的场景:我们进行网络请求得到数据后处理数据,代码如下fun setUpUI(){ val data = requestData() doSomethingElse() processData(data) }
转载 2023-10-28 09:35:05
219阅读
# 如何创建一个 Android ServiceAndroid 开发中,Service 是一种用于在后台执行长时间操作的组件。结合 Kotlin 的,可以让我们更简单地实现异步任务。本文将向你展示如何实现一个使用Android Service。 ## 整体流程 我们将分步实现一个简单的 Android Service。以下是整个过程的步骤。 | 步骤
原创 2024-10-24 04:47:37
44阅读
# 如何实现Android Service ## 介绍 在Android开发中,Service是一种能够在后台长时间运行的组件,而是一种轻量级的线程处理机制。结合Service和协可以实现在后台处理耗时任务而不阻塞主线程。 ## 整体流程 首先,我们需要创建一个Service,并在其内部使用来执行我们的任务。接着,我们需要在AndroidManifest.xml文件中注册这个Se
原创 2024-03-25 05:49:02
66阅读
Generator 函数是在 ES6 的实现,最大特点就是可以交出函数的执行权(即暂停执行)。function* gen(x){ var y = yield x + 2; return y; }  上面代码就是一个 Generator 函数。它不同于普通函数,是可以暂停执行的,所以函数名之前要加星号,以示区别。整个 Generator 函数就是一个封装的异步任务,或者说是异步任务的容器
转载 2023-12-06 21:32:10
52阅读
            在 Kotlin 当中,我们通常把异常分为两大类,一类是取消异常(CancellationException),另一类是其他异常。在 Kotlin 当中,这两种异常的处理方式是不一样的。        一、c
转载 2023-11-30 12:35:50
108阅读
# 实现"android service使用"的教程 ## 一、整体流程 首先,我们来整理一下实现"android service使用"的流程。可以通过以下步骤来完成: ```mermaid flowchart TD A(创建Service) --> B(引入库) B --> C(在Service中使用) ``` ## 二、具体步骤 ### 1. 创建Se
原创 2024-05-19 03:47:41
212阅读
启动状态(Bind):当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台无限期运行,即使启动服务的组件已被销毁也不受影响,除非手动调用才能停止服务,已启动的服务通常是执行单一操作,而且不会将结果返回给调用方。绑定状态(Start):当应用组件通过调用 bindService() 绑定到服务时,服务即处于“绑定”状态
转载 9月前
22阅读
这篇文章不是用来讲概念的, 只是用来谈论一些关于Android 进程\那些问题1. android 子线程中的异常会引发crash闪退吗?答案是会的Thread{ throw RuntimeException("this is a error") }.start()异常21741 2379 E AndroidRuntime: java.lang.RuntimeException: this
Android 开发中,如果我们想要在 Service 中使用,可以有很多的便利之处,但也伴随着一些挑战。在这篇博文中,我们将详细阐述 Android Service 中调用的步骤和注意事项,帮助你更好地理解并实现这一目标。 ## 环境准备 在开始之前,你需要确保你的开发环境已经准备就绪。以下是必备的依赖安装指南和数据流动的可视化。 依赖安装指南: ```groovy depe
原创 6月前
26阅读
Android Service中使用 ============================ 在Android开发中,Service是一种常用的组件,用于在后台执行长时间运行的任务。然而,在Service中进行耗时操作时,需要避免阻塞主线程,以保证用户界面的流畅性。传统的做法是使用线程或Handler来处理耗时任务,但这些方法往往需要手动处理线程的生命周期和通信,导致代码变得复杂且容易出错
原创 2023-10-21 07:38:01
754阅读
# 在 Android 中使用 Service 创建Android 开发中,Service 提供了一种在后台执行长时间操作的方式,用户可以在前台活动的时候继续使用应用。当我们需要在 Service 中执行异步任务时,使用 Kotlin 将是一个非常方便的选择。本文将指导你如何在 Android Service 中创建并使用来执行异步操作。 ## 1. 流程概述 在开始具体操
原创 2024-09-12 06:18:54
245阅读
挂起点是什么,恢复又是什么,恢复的状态又是什么?要说明这个问题,我们需要了解 Kotlin 的状态机制,这个机制被隐藏在 suspend 关键字里。我们首先看看这段耗时操作的代码:fun main() = runBlocking { val nonTimeCost = measureTimeMillis { nonTimeCost() } println("nonTimeCos
原创 11月前
47阅读
Kotlin 在挂起时不一定会暂停 Coroutine 的执行(只有 delay,join,await 可能),也不一定会释放资源。kotlin 中的挂起意味着当前执行 Corotuine 阶段性结束了,执行当前Coroutine 的线程会继续去做其他的事(参考上图:Async),kotlin 会在合适的时机使用合适的 CoroutineContext 恢复执行这个 Coroutine
原创 11月前
49阅读
Kotlin 是一门仅在标准库中提供最基本底层 API 以便各种其他库能
原创 2023-04-12 10:24:27
1445阅读
一、的挂起和恢复概念、二、suspend 挂起函数
原创 2022-11-26 07:27:48
271阅读
官网介绍:https://developer.android.com/kotlin/coroutines一、的概念(Coroutines)是一种并发设计模式,可以在 Android 平台上使用它来简化异步执行的代码。 是在版本 1.3 中添加到 Kotlin 的,它基于来自其他语言的既定概念。在 Android 上,有助于管理长时间运行的任务.二、的特点是在 Android
转载 2023-09-11 21:44:05
170阅读
一:是什么?基于线程,是轻量级的线程 coroutine = cooperation+routine 难度在哪里? 1,java中不曾出现,新概念 2,概念不清晰 3,Kotlin基础不扎实 4,多线程基础太薄弱二:在android用来解决什么问题?1,处理耗时任务,这种任务常常会阻塞主线程 2,保证主线程安全,确保安全的从主线程调用任何suspend函数(挂起函数) 异步任务已经过
转载 2023-12-20 17:35:55
130阅读
  • 1
  • 2
  • 3
  • 4
  • 5