![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发技术
文章平均质量分 91
程序猿会指北
码农的日常另类行为!
展开
-
高级Android开发人员枯竭,在这个利润丰厚的领域如何蓬勃发展
熟悉Android的布局系统,包括使用XML文件定义用户界面和布局,了解不同的布局管理器(如LinearLayout、RelativeLayout、ConstraintLayout等)和视图组件(如TextView、EditText、Button等)的使用方式。深入了解Android开发平台和生命周期,了解Android应用的基本架构和组件,包括活动(Activity)、服务(Service)、内容提供者(Content Provider)和广播接收器(Broadcast Receiver)等。原创 2023-07-05 17:10:19 · 217 阅读 · 0 评论 -
Android逆向解析加壳与脱壳技术
需要注意的是,这只是一个简单的示例代码,实际的脱壳代码可能会更加复杂。需要注意的是,该示例只是一个简单的加壳代码示例,实际的加壳代码可能会更加复杂。脱壳指的是将加上保护壳的 Android 应用程序还原为未加壳的状态,以便开发者能够更好地分析和处理应用程序的代码。如果要脱壳加密的应用程序,需要了解加密的方式并寻找去除加密的方法,例如反编译、模拟器调试、修改 dex 文件等。需要注意的是,加壳和脱壳都需要具备 Java 开发、反汇编、逆向分析等技术技能,对于普通的开发者来说是比较困难的任务。原创 2023-06-08 20:51:51 · 3990 阅读 · 10 评论 -
了解Gradle:轻松构建优秀的Java和Android应用程序
总的来说,Gradle是一种非常灵活和强大的构建工具,能够帮助开发人员管理项目的构建、部署和测试。Gradle的生命周期是指在Gradle构建过程中不同的阶段和在每个阶段执行的任务。在配置阶段,Gradle会把整个项目的构建过程梳理清楚,并且解析和配置项目的每个组件和依赖项。除了这三个主要的生命周期阶段,Gradle还支持其他一些生命周期事件,例如插件管理阶段、资产管理阶段、测试管理阶段等。总之,Gradle生命周期可以帮助我们了解Gradle构建过程中不同阶段的执行情况。点击查看详细类目获取!原创 2023-05-12 16:02:42 · 836 阅读 · 0 评论 -
深度解耦:使用Jetpack新技术Hilt实现依赖注入
Hilt是一个由Google推出的依赖注入框架,旨在简化Android应用程序的依赖注入。它是基于Dagger的,并且使用了很多注解和自动生成代码来实现依赖注入。Hilt使用Jetpack组件提供对Android平台和Kotlin生态系统的支持,使依赖注入的集成更加简单和高效。Hilt的设计目的是简化依赖注入过程,使其更灵活易用。在Hilt中,开发人员可以使用少量的注解来声明依赖项和提供依赖注入。Hilt自动地处理最终的依赖项注入代码。原创 2023-05-10 16:19:59 · 656 阅读 · 0 评论 -
投了上千简历,是Android岗位需求少?还是我的技术不行
作者:病鸡乱投医作为一名Android开发人员,打开招聘网站是每天必做的事情。每次看到悬赏诱人的Android工程师职位,就想做个简历有技巧、能够吸引面试官的面面观。然而,即使投了上千份简历,也迟迟没有找到理想的工作。在看到许多同专业的人已经找到工作甚至已经发展得相当好,却自己还在找工作的时候,心情会感到非常糟糕。这种情况很让人失望,可能会感到失落和无助。但是,我们需要认识到这一直是一条充满挑战和机会的道路。原创 2023-05-09 16:16:11 · 903 阅读 · 0 评论 -
车载搭载SystemUI音频技术,全方位呈现高品质音效
SystemUI 是 Android 操作系统中的一个系统服务,主要负责管理和显示系统界面元素,例如状态栏、通知栏、键盘和屏幕截图等。SystemUI 系统服务是系统级别的组件,提供的功能对于用户体验和系统安全性都非常重要。管理状态栏和通知栏:SystemUI 是状态栏和通知栏的管理器,负责监视和更新状态栏和通知栏中显示的信息。管理软键盘:SystemUI 也负责控制软键盘的显示和隐藏,确保在需要时能够正确地显示出来。原创 2023-05-06 16:02:59 · 538 阅读 · 0 评论 -
如何使用LiveData实现Room数据库的数据变化监听?
通过使用 Room 框架提供的 LiveData 类,我们可以很方便地实现监听数据库数据变化刷新页面的效果。LiveData 是一种可以感知 Activity 或 Fragment 生命周期的观察者,可以在数据发生变化时自动通知 UI 进行更新。我们可以在 DAO 接口中定义返回 LiveData 的方法,然后在 Activity 或 Fragment 中注册 LiveData 观察者,并在数据库操作触发数据变化时自动更新 UI。原创 2023-05-05 16:48:32 · 1231 阅读 · 0 评论 -
解锁音视频开发技巧,投身新时代的互联网浪潮
音视频应用范围广泛,涵盖了许多不同的领域和行业。通信:音视频通讯是当今普遍使用的一种方式,包括互联网电话、视频会议、视频聊天应用等。娱乐:音视频内容在娱乐行业中应用广泛,包括音乐、电影、电视等。游戏:音视频也广泛应用于游戏开发中,包括游戏音效、背景音乐、游戏视频和实时语音等。教育:音视频可以被用于在线教育平台的课程制作和直播。教育场景中的语音和视频可以增加学习效果和交流效率。医疗:音视频也应用于医疗行业中,如医疗设备中的音视频模块,远程优先会诊等。原创 2023-05-04 16:26:38 · 361 阅读 · 0 评论 -
颠覆Android开发行业未来,让Kotlin成为您的新宠
Kotlin受到了许多现代编程语言的影响,如Swift、Scala、Groovy和C#,它被认为是一种功能强大、直观易用、安全可靠的编程语言。此外,Kotlin的语法简洁易懂,与Java的互操作性良好,也让许多Java开发者更容易地转向Kotlin。Kotlin的开发者JetBrains公司还在不断推进Kotlin的发展,包括开发新的语言特性、优化编译器、扩展Kotlin在不同平台间的应用等。总之,Kotlin的前景看好,它正在成为一门强大而广泛应用的编程语言,将继续在不同领域得到更广泛的应用和发展。原创 2023-04-28 16:42:32 · 838 阅读 · 0 评论 -
人人都能升薪?深扒Android开发中的通天神器Framework
近年来,客户端领域的竞争日益激烈,很多安卓开发者抱怨内卷现象普遍存在。在这种背景下,开发者们面对的压力越来越大,很难掌握足够的技能去顺利发展。解决内卷,突破迷茫,是许多开发者面临的挑战。小米的高管在脉脉上提供了一条不错的建议,即如下:但对于大部分的开发者来说,Android FrameWork都无法做到精通,更别提触类旁通了。想要成为真正的高级Android开发者,那么FrameWork是一定要精通且烂熟于心的。原创 2023-04-27 15:45:57 · 828 阅读 · 0 评论 -
音视频开发面试题大盘点:掌握这些基础知识,你就能轻松应对面试
音视频开发作为一种高技术含量的领域,随着人们对数字媒体的需求不断增加,其前景非常广阔。预计在2023年,音视频开发领域仍将继续保持快速发展的态势,尤其是在移动互联网、物联网、虚拟现实、增强现实等领域。根据BOSS招聘网的数据分析,音视频开发相关职位的薪资待遇一般较为丰厚。例如,BOSS招聘网上普通的音视频开发工程师的薪资待遇在一线城市一般在10K-20K之间,资深的音视频开发工程师甚至可以拿到30K-50K的薪资水平。原创 2023-04-25 16:35:17 · 1097 阅读 · 0 评论 -
如何在Android面试中脱颖而出,高频Android面试题解析,帮你快速拿到Offer
Activity生命周期指的是Activity从创建到销毁的整个过程,包括onCreate、onStart、onResume、onPause、onStop、onDestroy等生命周期方法。当Activity从不可见状态变为可见状态时,系统会按照一定的生命周期方法调用顺序执行这些方法,当Activity被销毁时,也会按照一定的生命周期方法调用顺序执行这些方法。原创 2023-04-21 16:11:36 · 499 阅读 · 0 评论 -
【技术分享】Livedata粘性事件实现源码解析,让你彻底掌握数据更新机制
Livedata粘性事件是Android中常用的一种观察者模式,它可以让数据在发生改变时通知观察者并更新UI。在实际开发中,我们可能会遇到粘性事件的情况,即先发送了一个数据,后来才有观察者来监听,这时候我们需要保证观察者能够接收到最新的数据。本文将对Livedata粘性事件的原理以及Framework源码进行分析。Livedata粘性事件是一种非常实用的观察者模式,它可以保证观察者能够接收到最新的数据。在实际开发中,我们经常会遇到粘性事件的情况,因此了解其原理以及源码实现是非常重要的。原创 2023-04-20 16:37:28 · 857 阅读 · 0 评论 -
Vsync信号和SurfaceFlinger刷新机制;打造智能车厢的关键技术
车载智能座舱系统在现代汽车中已经越来越常见,它可以提供各种功能,例如音乐、导航和驾驶辅助等。要实现这些功能,需要底层硬件和系统软件的支持。其中,Vsync信号和SurfaceFlinger刷新机制是车载智能座舱系统中的两个关键技术。Vsync信号是指显示器垂直同步信号,它可以让显示器在刷新时避免产生图像撕裂。在车载智能座舱系统中,Vsync信号与应用程序的帧率同步,确保应用程序的内容在显示器上得到正确的渲染。原创 2023-04-19 16:17:34 · 517 阅读 · 0 评论 -
打造高效Android应用,从Hilt注入框架开始
在 Android 开发中,注入解耦是一种设计模式,用于解决代码耦合的问题。通过使用注入技术,可以将应用程序中的不同部分解耦,从而使得代码更加灵活、易于维护和升级。在 Android 中,注入解耦通常使用依赖注入(Dependency Injection)技术实现。依赖注入可以使得应用程序的各个组件之间的依赖关系更加明确、灵活,同时也能够方便地实现组件的替换和升级。代码结构更加清晰,易于维护和升级。代码的复用性更高,可以方便地替换和升级组件。原创 2023-04-18 17:00:13 · 556 阅读 · 0 评论 -
了解最新的Android开发趋势和技术的秘诀
当前,Android开发市场已经相当成熟,并且在全球范围内都非常活跃。Android是全球最受欢迎的移动操作系统之一,自Android开源以来,它已经改变了移动技术。市场上大量的企业和开发者都在积极地跟进、深入研究和开发Android系统。Android开发技术的持续更新:随着技术的不断发展和更新,开发人员需要不断地学习和更新他们的技能以跟上潮流,尤其是对于新的编程语言和框架的掌握需要具备相关知识,例如Kotlin等。原创 2023-04-17 16:50:32 · 503 阅读 · 0 评论 -
Jetpack Compose大师乘势而上,创建引人入胜和直观的UI;实用技巧和技术
Jetpack Compose 提供了一套新的声明式 UI 编程模型,采用 Kotlin 语言编写,使得开发者可以通过编写组合的函数来描述 UI 界面,这样可以避免传统 UI 开发中繁琐的 View 层次嵌套和回调函数处理,从而使得开发更加高效和直观。使用 Compose 可以很容易地实现动画效果。Jetpack Compose 使用主题样式来统一界面风格,并且可以根据主题的不同来定制组件的外观和样式,如果需要自定义组件,可以使用 @Stable 和 remember 函数来提高性能和防止不必要的重绘。原创 2023-04-14 16:17:23 · 483 阅读 · 0 评论 -
深入浅出OkHttp,【带你手写】构建高效、高性能的网络请求框架
OkHttp是一种流行的网络访问框架,可以用于在Android和Java应用程序中进行HTTP和HTTP/2请求。自己手写OkHttp框架的目的是为了深入了解这种框架的功能和内部实现,并自己实现一些功能和特点。网络请求的生命周期:在请求开始前和请求结束后需要进行一些操作,例如建立连接、发送请求、接受响应等。这些操作需要在合适的时候调用。连接池的管理:为了减少网络开销和提高性能,可以使用连接池来管理可复用的连接,避免频繁地建立和断开连接。原创 2023-04-13 16:45:26 · 617 阅读 · 0 评论 -
【实战经验】Android性能优化大分析:多种方法让你的应用飞起来
Android性能优化是为了提高应用的响应速度、稳定性和用户体验。在应用开发中,当应用出现卡顿、卡死、运行缓慢等问题时,会给用户带来极差的体验,甚至导致用户流失。而进行性能优化可以有效地解决这些问题,提高应用的质量和用户满意度。此外,优化后的应用还能提高设备的电池寿命、降低内存占用,从而提高设备的使用寿命。原创 2023-04-11 16:45:39 · 1246 阅读 · 0 评论 -
奇思妙想,用ChatGPT写代码怎么样呢?来看看写一个简单的Android apk
这段时间重大新闻就属ChatGPT了,这到底是个什么呢?官方解释ChatGPT是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具,使用了Transformer神经网络架构,也是GPT-3.5架构,这是一种用于处理序列数据的模型,拥有语言理解和文本生成能力,尤其是它会通过连接大量的语料库来训练模型,这些语料库包含了真实世界中的对话,使得ChatGPT具备上知天文下知地理,还能根据聊天的上下文进行互动的能力,做到与真正人类几乎无异的聊天场景进行交流。原创 2023-04-10 16:14:59 · 4426 阅读 · 0 评论 -
头痛的apk卡顿,我该从哪些方面进行优化?带你了解常见方案
内存优化问题是面试和平时开发中经常可能都会遇到的问题,也比较复杂,本文就常见问题做了简单的整理。布局优化:布局优化的思想就是减少布局的层级,使用, ,来优化布局。绘制优化:绘制优化是指在View的onDraw()方法内避免执行大量的操作。不要在在onDraw()方法内创建大量的局部对象,这不仅会占用过多内存还会频繁gc,降低程序的效率;不要在onDraw()方法内执行耗时操作,绘制时间要保持在16ms以内,防止界面卡顿。原创 2023-04-09 21:50:38 · 1147 阅读 · 0 评论 -
别再写冗长的代码了,学习RXJava让你的开发更加优雅
RXJava是一个基于响应式编程的库,它可以让我们更加优雅地处理异步事件和多线程操作。它的主要特点是使用观察者模式来处理异步事件和数据流,并提供了一些基于函数式编程思想的操作符来处理数据流。原创 2023-04-08 21:21:04 · 460 阅读 · 0 评论 -
车载图形开发—运用Android开发UI技术实现
在一些特殊情况下,可以通过自定义View来实现复杂的UI效果,例如自定义进度条、雷达图等本文主要讲在车载图形开发中使用Android开发技术实现;希望本文给你带来一些技术提升,有关更多的车载技术提升可以参考《车载开发手册》里面有详细记录了车载开发的进阶资料。点击查看类目获取相关。Android图形界面开发是指使用Android平台提供的UI组件和相关工具进行界面设计和实现的过程。Android提供了丰富的UI组件和布局方式,使得开发者能够轻松地构建出漂亮、易用的应用程序。原创 2023-04-07 16:32:54 · 705 阅读 · 0 评论 -
SQLite数据库在Android中的异常处理与调试技巧
轻量级:SQLite 以精简的代码实现了一个完整的 SQL 数据库引擎,不依赖于其他的库或者服务器,因此非常适合用于嵌入式设备或者移动应用中。原子性事务:SQLite 采用基于日志的事务处理机制,即所有的 SQL 操作都被记录在一个日志文件中,这样可以保证即使在崩溃或者异常情况下,数据库也能够回滚到之前的状态。自动索引:当用户进行查询操作时,SQLite 会自动根据查询条件创建索引以提高查询性能。同时,SQLite 还支持多种类型的索引,包括 B-tree 索引和哈希索引。原创 2023-04-04 16:35:10 · 350 阅读 · 0 评论 -
从零开始学习Kotlin,带你快速掌握该编程语言
Kotlin是一种跨平台的静态编程语言,它可以在JVM、Android、浏览器、iOS等多个平台上运行。Kotlin的语法简洁易懂,具有高度的可读性和可维护性,同时还具有Java所不具备的许多优点。Kotlin是一种静态类型、面向对象、函数式编程语言,旨在与Java语言完全兼容并提供更现代的语言特性。它运行在Java虚拟机(JVM)上,并可以与Java语言无缝集成。Kotlin支持使用关键字var和val定义变量。其中,var定义的变量是可变的,而val定义的变量是不可变的。原创 2023-04-03 16:36:33 · 226 阅读 · 0 评论 -
Android的虚拟机垃圾回收解析,简单明了看完通透
内存分配阶段:当应用需要加载新的类或创建新的对象时,Android虚拟机会根据需要动态分配内存空间。分代回收阶段:Android虚拟机采用分代垃圾回收机制,将内存分为不同的代,根据不同代的对象生命周期,选择不同的垃圾回收策略进行回收,以优化内存的使用。并发标记阶段:应用程序正常运行时,Android虚拟机会启动一个线程用于对堆内存进行并发标记,标记存活对象,以便后续的清理操作。并发清理阶段:在并发标记阶段结束之后,虚拟机会启动一个线程来清理不可达对象,以回收内存空间。原创 2023-03-29 16:28:20 · 542 阅读 · 0 评论 -
【我的Android开发】之Transform实现自动化业务处理流程
Transform的机制基于Gradle插件的Transform API,在打包构建过程中插件通过该API提供一个Transform来拦截原始的class文件和资源,对其进行处理并返回给Gradle插件。在应用构建过程中,Gradle编译器将会遍历所有的Transform,将应用程序输出的字节码和资源递交给每个Transform进行处理,并将处理结果提交到后续Transform进行处理。首先,需要梳理出需要自动化的具体业务处理流程,明确每个步骤的输入、输出、执行方式和要求等等。原创 2023-03-28 16:23:23 · 470 阅读 · 0 评论 -
被同事问了无数次的【Android性能优化】,人在公司从不加班
Android系统与设备的多样性形成了开发者面临的挑战之一是如何为不同的设备提供出色的性能。优化应用程序的性能可以显著提高应用程序的用户体验,为用户提供更快,更平稳的体验。如果你是一位Android开发者,你一定知道Android性能优化对于应用程序的重要性。一款高性能的应用程序可以提高用户体验,降低应用程序的崩溃率,提高用户满意度。原创 2023-03-25 21:15:49 · 63 阅读 · 0 评论 -
Framework事件机制—Event Hub原理及事件解析
Event Hub是全托管式的服务。什么意思呢?就是如果不使用Event Hub这样的托管式服务,那么开发者需要自己对大数据流平台进行管理。比如Apache Kafka也是一个大数据流平台,但是它不是全托管的,这意味着开发者将需要自行搭建和管理大数据流的处理,比如搭建(购买和配置)虚拟机集群、安装和管理Kafka、管理储存,也就是说,开发者需要自行进行管理所有涉及的服务、更新、包、版本,或者需要再使用其他平台的服务代为完成这些步骤。原创 2023-03-23 16:29:53 · 672 阅读 · 0 评论 -
车载系统开发—【car-aosp】开发环境配置
至此,咱们现已成功编译并运转了AOSP,凭借Cuttlefish服务,咱们运用宿主的浏览器即可操作虚拟机,并且能够运用adb衔接服务。限于篇幅,下一篇文章将讲述怎么运用AIDEGen将源码导入Windows端的Android Studio,由于Wslg的功能和体会并不能让咱们满意,所以将Android Studio跑在WSL2并不是一个正确的挑选,何况他的渲染并不好。原创 2023-03-22 16:29:15 · 605 阅读 · 0 评论 -
Android架构RxJava—— RxView 控件事件与原理
自从用上RxJava后彻底迷上Rx系列响应式编程,从本篇开始一起来学习一下Rx套餐之一的RxBinding。RxBinding是什么?它是一组开源库,来自大神Jake Wharton之手,可将Android中各类UI控件的动作事件转换为RxJava中的数据流。也就是说使用RxBinding,我们就可以以RxJava的形式来处理UI事件。本篇主要讲解其中RxView的相关View事件如何绑定。原创 2023-03-21 16:20:09 · 612 阅读 · 0 评论 -
车载技术—CarFramework框架【AOSP 源码编译】
了解以下一些概念,会对 Android 编译系统有大概的了解。Makefile Android 平台的编译系统,其实就是用 Makefile 写出来的一个独立项目。它定义了编译的规则,实现了 “自动化编译”,不仅把分散在数百个 Git 库中的代码整合起来、统一编译, 而且还把产物分门别类地输出到一个目录,打包成手机 ROM,还可以生成应用开发时所使用的 SDK、NDK 等。因此,采用 Makefile 编写的编译系统,也可以称为 Makefile 编译系统。原创 2023-03-20 16:07:47 · 978 阅读 · 2 评论 -
车载系统 AutoMotive学习,开启你的车企高薪岗位
提到Android车载,各位开发者们应该都不陌生。传统的车载功能单一,无太多娱乐性,而随着智能化时代的发展,车载系统也被赋予了在系统中预装 Android 应用的能力,基于Android平台的车载信息娱乐系统——Android Automotive应运而生。而今,包括BAT在内许多传统互联网企业纷纷布局手机产业,追逐新能源造车浪潮,大量的Android开发从业者,也开始转战车载,这不仅降低的IVI系统以及应用的开发成本,也为开发人员提供了更多岗位与出路。原创 2023-03-18 21:26:18 · 627 阅读 · 0 评论 -
Android开发的这一年里,Jetpack的Room源码是怎么狠狠奖励我的?
编译期的SQL语法检查开发高效,避免大量模板代码API设计友好,容易理解可以与RxJava、 LiveData 、 Kotlin Coroutines等进行桥接本文只是对Room的一个简单分析,正如在一开始的概述里面说的那样:Room是对SQLite数据库的抽象,它提供了很多便利的API和注解等,简化了使用者使用数据库的方式。本文没有分析 Room和 LiveData结合使用的情况,因为笔者公司的项目还没能引入 LiveData。原创 2023-03-17 16:22:32 · 999 阅读 · 1 评论 -
拒绝摆烂,Android AMS应该打卡学习的n件事
从java角度来看,ams就是一个java对象,实现了Ibinder接口,所以它是一个用于进程之间通信的接口,这个对象初始化是在systemServer.java 的run()方法里面。原创 2023-03-16 16:54:24 · 366 阅读 · 0 评论 -
Android车载 CarFrameWork——carservice启动流程
在Service每一次的开启关闭过程中,只有onStart可被多次调用(通过多次startService调用),其他onCreate,onBind,onUnbind,onDestroy在一个生命周期中只能被调用一次。所以调用bindService的生命周期为:onCreate --> onBind(只一次,不可多次绑定) --> onUnbind --> onDestroy。设备文件路径在: /system/priv-app/CarService/CarService.apk。创建ICarImpl实例。原创 2023-03-15 16:31:32 · 1391 阅读 · 1 评论 -
Android 安卓Touch事件的分发流程解析
用户触摸屏幕产生一个触摸消息,系统底层将该消息转发给ViewRoot ( ViewRootImpl ),ViewRoot产生一个DISPATCHE_POINTER的消息,并且在handleMessage中处理该消息,最终会通过deliverPointerEvent(MotionEvent event)来处理该消息。原创 2023-03-14 16:16:10 · 776 阅读 · 1 评论 -
android app深度优化—Shared Preference源码详解
SharedPreferences是Android提供的数据持久化的一种手段,适合单进程、小批量的数据存储与访问。因为SharedPreferences的实现是基于单个xml文件实现的,并且,所有持久化数据都是一次性加载到内存,如果数据过大,是不合适采用SharedPreferences存放的。而适用的场景是单进程的原因同样如此,由于Android原生的文件访问并不支持多进程互斥,所以SharePreferences也不支持,如果多个进程更新同一个xml文件,就可能存在同不互斥问题。原创 2023-03-13 21:00:37 · 673 阅读 · 0 评论 -
Serializable序列化工作原理/代码实现
通常我们使用Java的序列化与反序列化时,只需要将类实现Serializable接口即可,剩下的事情就交给了jdk。今天我们就来探究一下,Java序列化是怎么实现的,然后探讨一下几个常见的集合类,他们是如何处理序列化带来的问题的。原创 2023-03-11 20:47:47 · 483 阅读 · 0 评论 -
Android Framework——zygote 启动 SystemServer
在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育(fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧。由于Zygote进程在Android系统中有着如此重要的地位,本文将详细分析它的启动过程1、启动Binder线程池,这样就可以与其他进程进行Binder跨进程通信。2、创建SystemServiceManager,它用来对系统服务进行创建、启动和生命周期管理。原创 2023-03-10 16:35:33 · 868 阅读 · 0 评论