当前位置: 首页 > news >正文

《Android 应用开发基础教程》——第二章:Activity 与生命周期详解

目录

第二章:Activity 与生命周期详解

2.1 什么是 Activity?

作用:

2.2 创建一个 Activity

示例代码

Manifest 注册:

2.3 Activity 生命周期(Life Cycle)

生命周期图解:

2.4 生命周期代码示例(带日志)

2.5 生命周期应用场景

2.6 Activity 的跳转

2.7 Activity 与 Back Stack(返回栈)

2.8 小结

习题答案

 

1. Activity 生命周期的 7 个核心方法

2. 什么情况下会触发 onRestart()?

3. 如何从 A 页面跳转到 B 页面?代码示例

示例代码:

详细步骤:

带参数跳转示例:

4. 页面暂停播放音乐应该写在哪个生命周期函数中?

原因:

示例代码:

注意事项:


第二章:Activity 与生命周期详解

2.1 什么是 Activity?

Activity 是 Android 应用中的一个屏幕(界面)或用户交互窗口。每一个 Activity 通常对应一个应用功能界面,例如登录页、主页面、设置页等。

作用:
  • 用于用户界面展示和交互

  • 承载布局(UI)

  • 响应用户事件(点击、滑动等)


2.2 创建一个 Activity

每个 Activity 都需要:

  • 一个 Kotlin/Java 类,继承自 AppCompatActivity

  • 一个 XML 布局文件

  • AndroidManifest.xml 中进行注册

示例代码
// MainActivity.kt
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)}
}

Manifest 注册:
<activity android:name=".MainActivity" />


2.3 Activity 生命周期(Life Cycle)

Android 会根据用户操作和系统状态,对 Activity 进行不同阶段的管理。

生命周期主要分为 7 个核心方法

方法名说明
onCreate()第一次创建时调用(初始化)
onStart()页面可见时调用
onResume()页面进入前台、可交互时调用
onPause()页面部分被遮挡,失去焦点时调用
onStop()页面完全不可见
onRestart()从停止状态重新启动
onDestroy()Activity 被销毁前调用
生命周期图解:

(建议记忆该顺序)

onCreate → onStart → onResume↓         ↑onRestart ← onStop ← onPause↓onDestroy

2.4 生命周期代码示例(带日志)

 
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)Log.d("LifeCycle", "onCreate")}override fun onStart() {super.onStart()Log.d("LifeCycle", "onStart")}override fun onResume() {super.onResume()Log.d("LifeCycle", "onResume")}override fun onPause() {super.onPause()Log.d("LifeCycle", "onPause")}override fun onStop() {super.onStop()Log.d("LifeCycle", "onStop")}override fun onRestart() {super.onRestart()Log.d("LifeCycle", "onRestart")}override fun onDestroy() {super.onDestroy()Log.d("LifeCycle", "onDestroy")}
}

打开 Android Studio 的 Logcat 面板,你可以看到 Activity 的生命周期变化日志。


2.5 生命周期应用场景

方法实际应用场景
onCreate()初始化变量、绑定事件、加载布局
onResume()开始动画、监听器、摄像头等资源
onPause()暂停动画、释放资源、防止泄露
onStop()保存数据状态,如保存草稿
onDestroy()彻底释放资源,如线程、数据库

2.6 Activity 的跳转

跳转页面使用 Intent

val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)

别忘了注册 SecondActivity:

<activity android:name=".SecondActivity" />


2.7 Activity 与 Back Stack(返回栈)

每启动一个新 Activity,系统会将它压入返回栈(Back Stack),按返回键时会依次出栈。

可以使用:

  • finish() 关闭当前 Activity

  • Intent.FLAG_ACTIVITY_CLEAR_TOP 控制跳转时清空栈


2.8 小结

  • Activity 是 Android 应用中的基础组成单位

  • 生命周期必须熟悉,防止内存泄露或资源浪费

  • 跳转、返回等行为均受生命周期控制

  • 可以通过 Log.d() 实际跟踪生命周期过程


📌 练习题

  1. 简述 Activity 生命周期的 7 个核心方法

  2. 什么情况下会触发 onRestart()

  3. 如何从 A 页面跳转到 B 页面?代码示例

  4. 页面暂停播放音乐应该写在哪个生命周期函数中?


下一章我们将进入实战部分:

第三章:布局管理与 UI 组件详解(LinearLayout、ConstraintLayout、Button、TextView 等)

PS:兄弟们私信我说,kotlin不习惯,那么从第三章开始,我将采用java代码展示示例代码。咱就是说,主打一个宠粉~~~


习题答案

1. Activity 生命周期的 7 个核心方法

Android 的 Activity 生命周期包含以下 7 个核心回调方法,它们在不同状态下被系统调用:

  1. onCreate()

    • 当 Activity 第一次创建时调用。
    • 用于初始化操作,例如设置布局、绑定数据等。
  2. onStart()

    • 当 Activity 即将变为可见状态时调用。
    • 此时用户还不能与 Activity 交互。
  3. onResume()

    • 当 Activity 获得焦点并进入前台时调用。
    • 用户可以与 Activity 交互。
  4. onPause()

    • 当 Activity 失去焦点但仍部分可见时调用(如弹出对话框)。
    • 通常用于暂停耗资源的操作(如音乐播放)。
  5. onStop()

    • 当 Activity 完全不可见时调用。
    • 例如跳转到另一个 Activity 或按下 Home 键。
  6. onRestart()

    • 当 Activity 从停止状态重新启动时调用。
    • 在 onStart() 之前调用。
  7. onDestroy()

    • 当 Activity 被销毁时调用。
    • 用于释放资源或清理操作。

2. 什么情况下会触发 onRestart()

onRestart() 方法会在以下情况下被触发:

  • 当一个处于停止状态(调用了 onStop())的 Activity 被重新启动时。
  • 典型场景:
    • 用户按下 Home 键离开应用后,又通过最近任务列表返回到该 Activity。
    • 用户从其他 Activity 返回到当前 Activity。

生命周期流程为:onRestart()onStart()onResume()


3. 如何从 A 页面跳转到 B 页面?代码示例

从 A 页面跳转到 B 页面可以使用 Intent 实现。下面是代码示例:

示例代码:
// 在 A 页面中跳转到 B 页面
Intent intent = new Intent(AActivity.this, BActivity.class);
startActivity(intent);
详细步骤:
  1. 确保 B 页面(BActivity)已经在 AndroidManifest.xml 中注册:

    <activity android:name=".BActivity" />
  2. 在 A 页面中,通过 Intent 指定目标 Activity,并调用 startActivity() 方法完成跳转。

带参数跳转示例:

如果我们需要传递数据到 B 页面的话,可以在 Intent 中添加额外信息:

Intent intent = new Intent(AActivity.this, BActivity.class);
intent.putExtra("key", "Hello from A");
startActivity(intent);

在 B 页面中接收数据:

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_b);Intent intent = getIntent();String message = intent.getStringExtra("key");// 使用接收到的数据
}

4. 页面暂停播放音乐应该写在哪个生命周期函数中?

当页面暂停时(例如用户切换到其他页面或按下 Home 键),应该暂停播放音乐。这个操作就应该写在 onPause() 方法中。

原因:
  • onPause() 是在 Activity 失去焦点时调用的,此时用户可能无法与当前页面交互。
  • 这是最适合暂停耗资源操作(如音乐播放)的地方。
示例代码:
@Override
protected void onPause() {super.onPause();// 暂停音乐播放if (mediaPlayer != null && mediaPlayer.isPlaying()) {mediaPlayer.pause();}
}@Override
protected void onResume() {super.onResume();// 恢复音乐播放if (mediaPlayer != null && !mediaPlayer.isPlaying()) {mediaPlayer.start();}
}
注意事项:
  • 如果音乐是全局播放(如后台播放),需要考虑使用 Service 来管理播放逻辑。
  • 在 onDestroy() 中记得释放资源,避免内存泄漏:
    @Override
    protected void onDestroy() {super.onDestroy();if (mediaPlayer != null) {mediaPlayer.release();mediaPlayer = null;}
    }

相关文章:

《Android 应用开发基础教程》——第二章:Activity 与生命周期详解

目录 第二章&#xff1a;Activity 与生命周期详解 2.1 什么是 Activity&#xff1f; 作用&#xff1a; 2.2 创建一个 Activity 示例代码 Manifest 注册&#xff1a; 2.3 Activity 生命周期&#xff08;Life Cycle&#xff09; 生命周期图解&#xff1a; 2.4 生命周期代…...

[Java]反射、String类补充

目录 1、反射定义 2、用途(了解) 3、反射相关的类 4、Class类(反射机制的起源) 4.1、相关方法 5、反射示例 5.1、获取Class对象 5.2、反射的使用 6、反射优点和缺点 7、String类补充 7.1、创建对象的思考 8、字符串常量池 9、再谈String对象创建 10、intern方法 …...

word表格批量操作——宏

word中所有表格代码 这个是表格的模板代码 Sub 表格通用代码() For i ActiveDocument.Tables.Count To 1 Step -1ActiveDocument.Tables (i) Next End Sub1、根据内容自动调整表格 Sub 表格适用内容() For i ActiveDocument.Tables.Count To 1 Step -1ActiveDocument.Tabl…...

eSTK.me

eSTK.me 调用 USIM 卡的 Applet 实现在 iOS 内自助切换 Profile。写卡仍然需要借助硬件读卡器或者兼容 eSIM 的 Android 手机。支持国行 iPhone。 eSTK.me&#xff08;固件 v2.x 及以后的版本&#xff09;基于 ETSI 的 Bearer Independent Protocol (BIP) 协议&#xff0c;使…...

四级英语备考指南

一、引言 大学英语四级考试是对大学生英语综合能力的一次重要检验。无论是为了学业要求&#xff0c;还是提升自身竞争力&#xff0c;顺利通过四级考试都有着重要意义。本文将为大家详细介绍四级英语的备考策略&#xff0c;帮助大家高效备考&#xff0c;取得理想成绩。 二、了…...

Java Web 之 互联网协议 100问

HTTP是什么&#xff1f; HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是互联网上应用最广泛的协议之一&#xff0c;用于在客户端&#xff08;如浏览器&#xff09;和服务器之间传输数据。它是 Web 通信的基础&#xff0c;支持浏览器访…...

【单倍型理解及计算系列之二】单倍型基本概念以及其与遗传定位中Bin的定义区别

问题&#xff1a;如何理解单倍型&#xff0c;与遗传定位中Bin的定义区别&#xff1a; 简而言之&#xff1a;就是单倍型是基于LD&#xff0c;通常为连锁不平衡&#xff08;LD&#xff09;较高的区域形成。但bin是人为划分的&#xff0c;如以固定SNP数量/固定长度设置&#xff0…...

ArcPy Mapping 模块基础

在地理信息系统&#xff08;GIS&#xff09;的应用中&#xff0c;地图制作是一个非常重要的环节。无论是生成用于展示的静态地图&#xff0c;还是动态更新的地图服务&#xff0c;都需要高效且灵活的工具来实现。ArcPy 提供了强大的mapping模块&#xff0c;可以帮助用户自动化地…...

AcWing 11:背包问题求方案数 ← 0-1背包

【题目来源】 https://www.acwing.com/problem/content/11/ 【题目描述】 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总…...

Redis增删改查

### 进入redis控制台 redis-cli --raw #加上raw,防止中文乱码### 增 127.0.0.1:6379> LPUSH list0 "hello" #增加一个list 1 127.0.0.1:6379> LRANGE list0 0 -1 #查看list hello### 删 127.0.0.1:6379> DEL list0 #删除list 1 127.0.0.1:6379> LRANG…...

多道程序和多任务操作系统区别

多道程序 vs. 多道任务&#xff1a;对比分析 ✅ 共同点 方面共同特征核心机制都依赖于进程/任务切换执行需求实现多个程序或任务"并发"执行系统支持都需要操作系统的支持&#xff08;如调度算法、内存管理&#xff09;本质目标提高资源利用率&#xff08;CPU不空转…...

【MySQL】MySQL建立索引不知道注意什么?

基本原则&#xff1a; 1.选择性原则&#xff1a; 选择高选择性的列建立索引(该列有大量不同的值) 2.适度原则&#xff1a;不是越多越好&#xff0c;每个索引都会增加写入开销 列选择注意事项&#xff1a; 1.常用查询条件列&#xff1a;WHERE字句中频繁使用的列 2.连接操作列…...

区块链木材业务服务平台:商贸物流新变革

区块链木材业务服务平台&#xff1a;商贸物流新变革 在全球商贸物流行业不断发展的当下&#xff0c;木材贸易作为其中重要的一环&#xff0c;面临着诸多挑战。区块链木材业务服务平台的出现&#xff0c;为木材商贸物流领域带来了全新的解决方案&#xff0c;正逐步引领行业走向…...

【AI提示词】经济学家

提示说明 经济学家致力于提供深入的经济分析和预测&#xff0c;帮助用户理解经济趋势、政策影响以及市场动态。他们通过专业的经济模型和数据分析&#xff0c;为用户在投资、决策等方面提供指导。 提示词 # 角色 经济学家## 注意 1. 经济学家专家需要具备深入分析经济现象的…...

C++用于保留浮点数的两位小数,使用宏定义方法(可兼容低版本Visual Studio)

文章目录 一、 描述二、 样例二、 结果输出 一、 描述 这个宏定义&#xff08;可放入.h头文件里&#xff09;使用基本的数学运算&#xff0c;几乎兼容所有版本的VS&#xff0c;以下可对正数做四舍五入&#xff1a; #define ROUND_TO_TWO(x) ( (floor((x) * 100 0.5) / 100) …...

kimi+deepseek制作PPT

文章目录 KIMI简介一、基本信息二、核心特点三、服务理念 Deepseek简介PPT关键词提示 KIMI简介 KIMI官网&#xff1a;Kimi - 会推理解析&#xff0c;能深度思考的AI助手 一、基本信息 名称 &#xff1a;KIMI开发团队 &#xff1a;月之暗面科技有限公司上线时间 &#xff1a;…...

Linux-进度条小程序

1. 回车和换行的差异 在输出文本时&#xff0c;回车和换行符的作用是非常不同的。了解它们的行为有助于我们控制输出的方式。 回车&#xff08;\r&#xff09;&#xff1a;回车符将光标移到当前行的开头&#xff0c;但并不会自动换行。它的作用是覆盖当前行的内容。 换行&…...

Day2—3:前端项目uniapp壁纸实战

接下来我们做一个专题精选 <view class"theme"><common-title><template #name>专题精选</template><template #custom><navigator url"" class"more">More</navigator></template></common…...

什么是超类实体和派生属性

在数据库设计&#xff08;尤其是实体-关系模型&#xff08;ER模型&#xff09;&#xff09;和面向对象建模中&#xff0c;超类实体和派生属性是两个重要的概念&#xff0c;分别用于描述实体间的继承关系和属性的动态计算特性。以下是它们的详细解释和对比&#xff1a; 一、超类…...

性能比拼: Elixir vs Go(第二轮)

本内容是对知名性能评测博主 Anton Putra Elixir vs Go (Golang) Performance Benchmark (Round 2) 内容的翻译与整理, 有适当删减, 相关指标和结论以原作为准 这是第二轮关于 Elixir 和 Go 的对比测试。我收到了一份来自 Elixir 创作者的 Pull Request &#xff0c;并且我认为…...

微信、抖音、小红书emoji符号大全

1、Emoji 日常符号 &#x1f463;&#x1f440;&#x1f441;️&#x1f444;&#x1f48b;&#x1f442;&#x1f9bb;&#x1f443;&#x1f445;&#x1f9e0;&#x1fac0;&#x1fac1;&#x1f9b7;&#x1f9b4;&#x1f4aa;&#x1f9be;&#x1f9bf;&#x1f9b5;&a…...

【大模型】 LangChain框架 -LangChain实现问答系统

LangChain 介绍与使用方法 1. 什么是 LangChain&#xff1f;2. LangChain 的主要功能3. 如何使用 LangChain&#xff1f;3.1 环境准备3.2 基本使用示例3.2.1 简单的问答系统3.2.2 结合外部工具 3.3 高级用法 4. 常见问题及解决方法4.1 安装问题4.2 运行问题4.3 性能问题 5. 实战…...

k8s安装kubeadm

使用kubeadm安装部署k8s集群 目前生产部署Kubernetes 集群主要有两种方式&#xff1a; kubeadm Kubeadm 是一个K8s 部署工具&#xff0c;提供kubeadm init 和kubeadm join&#xff0c;用于快速部署Kubernetes 集群。 官方地址&#xff1a;https://kubernetes.io/docs/refer…...

五、小白如何用Pygame制作一款跑酷类游戏(主角跳跃和滑行动作的实现)

五、小白如何用Pygame制作一款跑酷类游戏&#xff08;主角跳跃和滑行动作的实现&#xff09; 文章目录 五、小白如何用Pygame制作一款跑酷类游戏&#xff08;主角跳跃和滑行动作的实现&#xff09;前言一、添加主角的跳跃和滑行图片素材二、代码部分1.在走路状态时按下按键发生…...

LLM MCP模型上下文协议快速入门(for Java)

什么是MCP Model Control Protocol&#xff08;MCP&#xff09;是由AI研究机构Anthropic在2023年第二季度首次提出的新型协议规范&#xff0c;旨在解决大语言模型LLM应用中的上下文管理难题。作为LLM交互领域的创新标准&#xff0c;MCP协议在发布后短短一年内已进行了多次更新…...

CTF--秋名山车神

一、原网页&#xff1a; 二、步骤&#xff1a; 1.尝试用计算器计算&#xff1a; 计算器溢出&#xff0c;无法正常计算 2.使用python计算&#xff1a; 得出计算结果为&#xff1a;1864710043732437134701060769 3.多次刷新页面&#xff1a; 发现变量为value&#xff0c;要用pos…...

Windows桌面图标变白的解决方案

一、问题原因 桌面图标变白通常是由于系统图标缓存文件&#xff08;IconCache.db&#xff09;损坏或系统图表示现异常导致。图标缓存是Windows用于存储应用程序和文件夹图标图像的临时文件&#xff0c;当该文件损坏或系统未正确更新缓存时&#xff0c;图标会因无法加载原始图像…...

Linux学习——信号量

1.头文件-semaphore.h 2.信号量类型 sem_t sem; 加强版的互斥锁&#xff0c;是并行的 3.主要函数 初始化信号量 sem_init(sem_t *sem,int pshared,unsigned int value); 第一个参数 信号量类型 第二个参数 0-线程同步 1-进程同步 …...

蓝桥杯 蜗牛 动态规划

16.蜗牛 - 蓝桥云课https://www.lanqiao.cn/problems/4985/learning/?page1&first_category_id1&second_category_id3&sortdifficulty&asc1&tags%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92,%E9%80%92%E6%8E%A8,01%E8%83%8C%E5%8C%85,%E5%8C%BA%E9%97%B4DP,%E6…...

FiftyOne 管理数据

FiftyOne 管理数据 下载安装FiftyOne https://docs.voxel51.com/ 下载 coco-2017 使用 FiftyOne 查看 import fiftyone as fo import fiftyone.zoo as foz# 自定义路径 - 修改这些变量以匹配你的环境 image_path /media/wmx/ws3/AI/data/coco2017/train2017 annotations_…...

解决echarts饼图label显示不全的问题

解决办法 添加如下配置&#xff1a; labelLayout: {hideOverlap: false},...

2000-2017年各省城市天然气供气总量数据

2000-2017年各省城市天然气供气总量数据 1、时间&#xff1a;2000-2017年 2、来源&#xff1a;国家统计局、能源年鉴 3、指标&#xff1a;行政区划代码、城市、年份、城市天然气供气总量 4、范围&#xff1a;31省 5、指标说明&#xff1a;城市天然气供气总量是指在一定时间…...

Linux教程-常用命令系列二

文章目录 1. 系统管理常用命令1. useradd - 创建用户账户功能基本用法常用选项示例 2. passwd - 管理用户密码功能基本用法常用选项示例 3. kill - 终止进程功能基本用法常用信号示例 4. date - 显示和设置系统时间功能基本用法常用选项时间格式示例 5. bc - 高精度计算器功能基…...

苍穹外卖(菜品管理)

菜品管理 公共字段自动填充 实现思路 代码开发 自定义注解 AutoFill 自定义切面 AutoFillAspect 完善自定义切面 AutoFillAspect 的 autoFill 方法 在Mapper接口的方法上加入 AutoFill 注解 将业务层为公共字段赋值的代码注释掉 功能测试 新增菜品 需求分析和…...

Cril 截取字段-生成hostname

有些event 是不规则,需要用regular express 来加工一下, 下面说一下sample 数据: 2021-10-26 17:00:12 PDT sample log data from host eagle1 2021-10-26 17:00:12 PDT sample log data from host eagle2 2021-10-26 17:00:12 PDT sample log data from host eagle3 2021…...

免费将AI生成图像放大4倍的方法

有些人不需要任何高级工具和花哨的技巧;他们只需要一种简单的方法来提升图像分辨率而不损失任何质量 — 今天,我们将学习如何做到这一点。 生成AI图像最大的问题之一是什么?最终结果通常分辨率非常低。 这会导致很多不同的问题,特别是对于那些想要在内容或项目中使用这些…...

Map和Set相关练习

目录 1、只出现一次的数字 2、宝石与石头 3、坏键盘打字 4、复制带随机指针的链表 5、大量数据去重 6、大量数据重复次数 7、前K个高频单词 1、只出现一次的数字 oj&#xff1a;136. 只出现一次的数字 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 1. 使用…...

移动自动化测试-appium

app自动化介绍 工具说明 主流工具 app自动化执行原理 app类型&#xff08;技术&#xff09; 环境搭建 所需环境 JDKandroid-sdkappium模拟器 1、JDK安装 说明&#xff1a;为什么要安装JDK&#xff1f; 安卓应用或开发工具是使用JAVA语言开发&#xff0c;必须使用jdk。…...

一个项目中多个Composer的使用方法

composer是依赖管理工具。 有时我们会在一个项目中使用到多个composer&#xff0c;且每个版本不同。 前提&#xff1a;例如项目xyz根目录vendor中存在阿里云的对应代码。我现在需要再composer腾讯云短信发送的SDK。 1、随便找个位置新建文件夹&#xff0c;存储腾讯云短信发送…...

Qt项目实现对西门子PLC的读写操作(snap7)——C++

实际项目中需要用到对西门子PLC进行通讯&#xff0c;故进行记录&#xff0c;方便后续回顾复习 实现功能&#xff1a; ①PLC连接与断开 ②往PLC指定位置读写操作&#xff08;bit、real、string&#xff09; PLC中的real相当于C中的float&#xff0c;4字节&#xff0c;32bit 1&…...

Python字典深度解析:高效键值对数据管理指南

一、字典核心概念解析 1. 字典定义与特征 字典&#xff08;Dictionary&#xff09;是Python中​​基于哈希表实现​​的无序可变容器&#xff0c;通过键值对存储数据&#xff0c;具有以下核心特性&#xff1a; ​​键值对结构​​&#xff1a;{key: value}形式存储数据​​快…...

Java虚拟机面试题:垃圾收集(下)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

9 C 语言变量详解:声明与定于、初始化与赋值、printf 输出与 scanf 输入、关键字、标识符命名规范

1 初识变量 1.1 变量的意义 在程序设计中&#xff0c;变量是程序中不可或缺的组成单位&#xff0c;最基本的存储单元。它如同现实生活中的容器&#xff0c;用于临时或长期保存各种类型的数据&#xff0c;为程序提供灵活的数据操作能力。 以选购手机为例&#xff0c;手机的各项…...

释放 Mac 存储空间:Ollama 模型迁移到外接 NVMe 磁盘

目录 背景一、准备工作1. 确认外接 NVMe 已挂载2. 创建模型目录 二、迁移已有模型数据&#xff08;可选&#xff09;三、配置模型目录1. 设置环境变量2. 使用软链接&#xff08;强烈推荐&#xff09; 四、测试是否成功 背景 在本地运行 Ollama 时&#xff0c;模型数据默认保存…...

spring-batch批处理框架(1)

学习链接 SpringBatch高效批处理框架详解及实战演练 spring-batch批处理框架(1) spring-batch批处理框架(2) spring batch官方文档 spring batch官方示例代码 - github 文章目录 学习链接一、课程目标课程目标课程内容前置知识适合人群 二、Spring Batch简介2.1 何为批处理…...

MCP系列:权限管理与隐私保护

前言 随着模型上下文协议(MCP)的广泛应用,安全性问题也逐步突显。在前几篇文章中,我们已经探讨了MCP的基本概念、技术架构、实践应用以及工具调用机制。本篇文章将聚焦于MCP的安全性考量,包括权限管理、隐私保护以及风险缓解策略。 对于企业和开发者而言,了解如何保障M…...

【25软考网工笔记】第二章(7)多路复用技术

目录 一、多路复用技术 1. 频分复用FDM 1&#xff09;频分复用的基本概念 2&#xff09;频分复用与相关技术 3&#xff09;注意事项与扩展 2. 时分复用 1&#xff09;同步时分复用 2&#xff09;统计时分复用 3&#xff09;同步时分复用与统计时分复用的对比 4&#…...

任意文字+即梦3.0的海报设计Prompt

即梦3.0版本发布后&#xff0c;对文字的呈现能力得到了极大的提升&#xff0c;网上也出现了各种文章教大家怎么写提示词。 但是你有没有发现一个问题&#xff0c;好的提示词是需要艺术细胞的&#xff0c;只有那些浸淫设计领域的专家总结的提示词才算上乘。 就像是给你一个主题…...

自动化测试相关协议深度剖析及A2A、MCP协议自动化测试应用展望

一、不同协议底层逻辑关联分析 1. OPENAPI协议 OPENAPI 协议核心在于定义 API 的规范结构&#xff0c;它使用 YAML 或 JSON 格式来描述 API 的端点、请求参数、响应格式等信息。其底层逻辑是构建一个清晰、标准化的 API 描述文档&#xff0c;方便不同的客户端和服务端进行对接…...

零基础上手Python数据分析 (18):Matplotlib 基础绘图 - 让数据“开口说话”

写在前面 —— 告别枯燥数字,拥抱可视化力量,掌握 Matplotlib 绘图基础 欢迎来到 “高效数据分析实战指南:Python零基础入门” 专栏! 经过前面 Pandas 模块的学习和实战演练,我们已经掌握了使用 Python 和 Pandas 进行数据处理、清洗、整合、分析的核心技能。 我们能够从…...