From 5ea9ed98b35863ccea780009f510cf4f3789bddd Mon Sep 17 00:00:00 2001
From: renjianbo <263303411@qq.com>
Date: Sun, 29 Mar 2026 22:22:49 +0800
Subject: [PATCH 1/4] aa
---
.obsidian/workspace.json | 81 ++++++++-----------
.../Projects/aitsc/ai提示词常用命令.md | 13 +++
.../Android整机性能分析与问题定位实战指南.md | 2 +-
docs/学习笔记/php/云服务器龙虾.md | 49 +++++++++++
docs/学习笔记/龙虾能力.md | 66 +++++++++++++++
docs/学习笔记/龙虾配置.md | 4 +
6 files changed, 168 insertions(+), 47 deletions(-)
create mode 100644 docs/学习笔记/php/云服务器龙虾.md
create mode 100644 docs/学习笔记/龙虾能力.md
create mode 100644 docs/学习笔记/龙虾配置.md
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index b062dd6..ecf7f69 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -11,13 +11,14 @@
"id": "9a5781991bf94030",
"type": "leaf",
"state": {
- "type": "bases",
+ "type": "markdown",
"state": {
- "file": "未命名 1.base",
- "viewName": "表格"
+ "file": "docs/dify/用户注册及添加成员.md",
+ "mode": "source",
+ "source": false
},
- "icon": "lucide-table",
- "title": "未命名 1"
+ "icon": "lucide-file",
+ "title": "用户注册及添加成员"
}
},
{
@@ -26,42 +27,30 @@
"state": {
"type": "markdown",
"state": {
- "file": "docs/Obsidian笔记体系/Daily/2026-01-13.md",
+ "file": "docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
- "title": "2026-01-13"
+ "title": "ai提示词常用命令"
}
},
{
- "id": "59894255df52f532",
+ "id": "efa2dc303e8e694d",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
- "file": "docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md",
+ "file": "docs/cursor/cursor.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
- "title": "知你--调测"
- }
- },
- {
- "id": "c40cc65d2419fc22",
- "type": "leaf",
- "state": {
- "type": "release-notes",
- "state": {
- "currentVersion": "1.12.4"
- },
- "icon": "lucide-book-up",
- "title": "版本说明 1.12.4"
+ "title": "cursor"
}
}
],
- "currentTab": 3
+ "currentTab": 2
}
],
"direction": "vertical"
@@ -93,7 +82,7 @@
"state": {
"type": "search",
"state": {
- "query": "path:\"docs/Obsidian笔记体系/Config/\" ",
+ "query": "计算云",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
@@ -214,46 +203,46 @@
},
"left-ribbon": {
"hiddenItems": {
- "bases:新建数据库": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
- "command-palette:打开命令面板": false
+ "command-palette:打开命令面板": false,
+ "bases:新建数据库": false
}
},
- "active": "5b497a77c6d68c73",
+ "active": "efa2dc303e8e694d",
"lastOpenFiles": [
- "docs/学习笔记/两份提示词对比.md",
- "docs/学习笔记/Android游戏整机性能卡顿与丢帧根因分析与优化指南.md",
- "docs/学习笔记/Android整机性能分析与问题定位实战指南.md",
- "docs/学习笔记/Android性能分析标准化操作手册.md",
- "docs/学习笔记/Android WindowManagerService核心原理深度解析(专家第二次提示词).md",
- "docs/学习笔记/Android WindowManagerService (WMS) 架构深度解析(第一次提示词).md",
+ "docs/cursor/cursor使用技巧.md",
+ "docs/学习笔记/php/云服务器龙虾.md",
+ "docs/学习笔记/龙虾能力.md",
"docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md",
- "docs/Obsidian笔记体系/Projects/aitsc",
- "docs/# Android WindowManagerService (WMS) 架构深度解析(专家第一次提示词).md",
- "docs/学习笔记/看应用卡顿问题.md",
- "未命名 1.base",
- "docs/学习笔记/perfeto看trace技巧.md",
- "docs/学习笔记/perfetto分析trace提效的办法或者方案.md",
- "docs/学习笔记/perfetto看trace关键词.md",
- "docs/Obsidian笔记体系/Projects/提示词大师/提示词大师.md",
+ "docs/学习笔记/龙虾配置.md",
+ "docs/学习笔记/腾讯云相关账户.md",
+ "docs/学习笔记/腾讯云龙虾.md",
+ "docs/学习笔记/php/php学习目录.md",
"docs/cursor/cursor.md",
+ "docs/学习笔记/Android整机性能分析与问题定位实战指南.md",
+ "未命名 1.base",
+ "docs/Obsidian笔记体系/Projects/提示词大师/提示词大师.md",
"docs/Obsidian笔记体系/Projects/提示词大师",
- "docs/dify/用户注册及添加成员.md",
+ "docs/学习笔记/Android WindowManagerService (WMS) 架构深度解析(第一次提示词).md",
+ "docs/学习笔记/Android WindowManagerService核心原理深度解析(专家第二次提示词).md",
+ "docs/学习笔记/两份提示词对比.md",
+ "docs/学习笔记/前端学习.md",
+ "docs/学习笔记/效率提升.md",
+ "docs/学习笔记/Android性能分析标准化操作手册.md",
"docs/Obsidian笔记体系/Daily/2026-01-13.md",
+ "docs/学习笔记/Android游戏整机性能卡顿与丢帧根因分析与优化指南.md",
+ "docs/# Android WindowManagerService (WMS) 架构深度解析(专家第一次提示词).md",
"docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md",
+ "docs/Obsidian笔记体系/Projects/aitsc",
"docs/Obsidian笔记体系/Daily/2026-01-14.md",
"docs/Obsidian笔记体系/Daily/2024-06-02.md",
"docs/Obsidian笔记体系/Daily/2026-01-15.md",
"docs/Obsidian笔记体系/Daily/2026-01-20.md",
"docs/学习笔记/高级性能问题分析.md",
- "docs/学习笔记/高级性能问题分析目录.md",
- "docs/学习笔记/产品经理/需求管理详解.md",
- "docs/学习笔记/产品经理/项目管理详解.md",
- "docs/Obsidian/高频命令.md",
"docs/学习笔记/产品经理",
"Pasted image 20260129111501.png",
"Pasted image 20260129111451.png",
diff --git a/docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md b/docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md
index cba6c99..3d6864e 100644
--- a/docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md
+++ b/docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md
@@ -1,3 +1,16 @@
+
+启动服务器:
+cd /home/renjianbo/aitsc
+pkill -f "run_dev:app"
+rm -f logs/gunicorn.pid
+sleep 2
+eval "$(/home/renjianbo/miniconda3/bin/conda shell.bash hook)"
+conda activate myenv
+gunicorn -c gunicorn.conf.py run_dev:app
+
+
+
+
系统维护常用语:
以行业和职业的维度,继续追加生成更多的提示词模板
以行业和职业的维度,继续追加生成更多不同的技术方向研发工程师的提示词模板
diff --git a/docs/学习笔记/Android整机性能分析与问题定位实战指南.md b/docs/学习笔记/Android整机性能分析与问题定位实战指南.md
index f6fe27c..4fc166f 100644
--- a/docs/学习笔记/Android整机性能分析与问题定位实战指南.md
+++ b/docs/学习笔记/Android整机性能分析与问题定位实战指南.md
@@ -6,7 +6,7 @@
| 版本 | 日期 | 作者 | 变更描述 |
| :--- | :--- | :--- | :--- |
| 1.0 | 2024-05-24 | AI Assistant | 初始版本,根据高级开发工程师规范制定 |
-
+
## 一、引言
本指南旨在为高级Android开发工程师提供一个系统化、标准化的整机性能分析框架。当面对海量性能日志和Trace数据时,工程师可依据此文档进行高效、精准的问题定位,并产出高质量的根因分析与优化建议。
diff --git a/docs/学习笔记/php/云服务器龙虾.md b/docs/学习笔记/php/云服务器龙虾.md
new file mode 100644
index 0000000..eb1ff43
--- /dev/null
+++ b/docs/学习笔记/php/云服务器龙虾.md
@@ -0,0 +1,49 @@
+已在你的项目里放好 Docker 版 OpenClaw(龙虾) 部署文件,路径如下:
+
+/home/renjianbo/long/long/openclaw-docker/
+
+|文件|作用|
+|---|---|
+|docker-compose.yml|官方同款:openclaw-gateway + openclaw-cli,默认镜像 ghcr.io/openclaw/openclaw:latest|
+|.env|端口、时区、数据目录;已自动生成 OPENCLAW_GATEWAY_TOKEN(请自行保管,勿泄露)|
+|start.sh|拉镜像 → 修正挂载目录属主 → 后台启动 Gateway|
+
+---
+
+### 你怎么用
+
+在服务器上执行:
+
+cd /home/renjianbo/long/long/openclaw-docker
+
+./start.sh
+
+若拉镜像报错(例如 unexpected EOF、超时),多半是访问 GHCR 不稳定,可以:
+
+- 给 Docker 配 HTTP 代理 或 registry 镜像加速,再重跑 ./start.sh;或
+
+- 在有外网的机器上 docker pull ghcr.io/openclaw/openclaw:latest 后 docker save / docker load 拷到本机。
+
+---
+
+### 启动成功后
+
+- 本机:http://127.0.0.1:18789
+
+- 健康检查:curl -sS http://127.0.0.1:18789/healthz
+
+首次引导(交互,需真实终端):
+
+cd /home/renjianbo/long/long/openclaw-docker
+
+docker compose run --rm openclaw-cli onboard --mode local --no-install-daemon
+
+常用:
+
+docker compose logs -f openclaw-gateway
+
+docker compose down # 停止
+
+---
+
+说明:刚才在这台机器上执行 ./start.sh 时,镜像下载到末尾出现 网络中断(unexpected EOF),所以容器未必已经起来;你网络稳定后再执行一次 ./start.sh 即可。若你希望改用 国内可拉的替代镜像名,把 OPENCLAW_IMAGE 写进 .env 后同样用 docker compose pull / ./start.sh 即可。
\ No newline at end of file
diff --git a/docs/学习笔记/龙虾能力.md b/docs/学习笔记/龙虾能力.md
new file mode 100644
index 0000000..22e1d41
--- /dev/null
+++ b/docs/学习笔记/龙虾能力.md
@@ -0,0 +1,66 @@
+好的!让我为你详细介绍我的能力:
+
+## 🛠️ 核心功能
+
+### 1. **文件操作**
+- **读取文件** - 查看文本文件、图片内容
+- **编辑文件** - 精确修改文件内容
+- **创建文件** - 编写新文件,自动创建目录
+- **工作目录**:`C:\Users\Administrator\.openclaw\workspace`
+
+### 2. **系统命令执行**
+- **运行 shell 命令** - PowerShell、CMD 等
+- **后台进程管理** - 启动、监控、停止进程
+- **终端交互** - 支持需要 TTY 的命令
+
+### 3. **网络功能**
+- **网页搜索** - 使用 Brave Search API
+- **网页抓取** - 提取网页内容为 Markdown/文本
+- **图片分析** - 分析图片内容(需要配置图像模型)
+
+### 4. **任务管理**
+- **定时任务 (Cron)** - 设置定期执行的任务
+- **提醒功能** - 在指定时间提醒你
+- **会话管理** - 创建子会话处理复杂任务
+
+### 5. **会话与协作**
+- **子代理** - 创建专门的代理处理特定任务
+- **会话历史** - 查看其他会话的记录
+- **跨会话通信** - 在不同会话间发送消息
+
+## 📁 工作空间结构
+
+我的工作空间有几个重要文件:
+- **SOUL.md** - 定义我的个性和行为准则
+- **USER.md** - 记录关于你的信息
+- **MEMORY.md** - 长期记忆存储
+- **TOOLS.md** - 本地工具配置
+- **HEARTBEAT.md** - 定期检查任务列表
+- **memory/** 目录 - 每日日志文件
+
+## 🔧 技能系统
+
+我还有一些专门的技能:
+- **健康检查** - 系统安全审计和加固
+- **节点连接** - 诊断 OpenClaw 节点连接问题
+- **Notion 集成** - 管理 Notion 页面和数据库
+- **天气查询** - 获取天气信息
+- **技能创建** - 创建和编辑新技能
+- **OpenAI 图像生成** - 批量生成图片
+
+## ⚡ 实际应用场景
+
+我可以帮你:
+- **整理文件** - 批量重命名、分类整理
+- **数据处理** - 分析日志、提取信息
+- **自动化任务** - 定期备份、监控系统
+- **学习研究** - 搜索资料、整理笔记
+- **项目管理** - 跟踪进度、管理文档
+
+## 🔒 安全考虑
+
+- **内部操作自由**:文件操作、本地命令等
+- **外部操作谨慎**:发送消息、公开操作需要确认
+- **隐私保护**:不会泄露你的私人信息
+
+现在你想试试哪个功能?或者有什么具体的任务想让我帮你处理?
\ No newline at end of file
diff --git a/docs/学习笔记/龙虾配置.md b/docs/学习笔记/龙虾配置.md
new file mode 100644
index 0000000..97c714c
--- /dev/null
+++ b/docs/学习笔记/龙虾配置.md
@@ -0,0 +1,4 @@
+# 创建默认配置结构 openclaw config set agents.defaults.model '{"primary": "deepseek/deepseek-chat", "fallbacks": []}' # 再次查看默认模型 openclaw config get agents.defaults.model.primary
+
+
+
From 74663e0a2b0cc18e18a690eeae1890944b8a92b9 Mon Sep 17 00:00:00 2001
From: renjianbo <263303411@qq.com>
Date: Sun, 29 Mar 2026 22:36:18 +0800
Subject: [PATCH 2/4] Add .gitignore to exclude Obsidian workspace files
---
.gitignore | Bin 0 -> 162 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..df90d036cbde1da5220b7448586c3f4b89624237
GIT binary patch
literal 162
zcmezWPnki1!Ji?Cp_n0)Aq9vN8S)r-8Mqkq81m6X^%=^6VnqzuK(z%xb;%5=Kvh{l
ZUOpZ@dJH8%J&8b784UU)m|P514FK&=9bW(d
literal 0
HcmV?d00001
From 78f4c661984c2431d09cfd975bb3627a951660f5 Mon Sep 17 00:00:00 2001
From: renjianbo <263303411@qq.com>
Date: Sun, 29 Mar 2026 22:44:22 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E6=96=87=E6=A1=A3:=20=E6=B7=BB=E5=8A=A0Git?=
=?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=B8=8E=E4=B8=8A=E4=BC=A0=E8=A7=84=E8=8C=83?=
=?UTF-8?q?=E6=96=87=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
docs/龙虾openclaw/git同步与上传规范.md | 298 +++++++++++++++++++++++++
1 file changed, 298 insertions(+)
create mode 100644 docs/龙虾openclaw/git同步与上传规范.md
diff --git a/docs/龙虾openclaw/git同步与上传规范.md b/docs/龙虾openclaw/git同步与上传规范.md
new file mode 100644
index 0000000..a1eceaa
--- /dev/null
+++ b/docs/龙虾openclaw/git同步与上传规范.md
@@ -0,0 +1,298 @@
+# Git 同步与上传规范
+
+## 📋 概述
+本文档规范了 MkDocs 知识库项目的 Git 同步和上传流程,确保团队协作高效、代码版本可控。
+
+## 🎯 目标
+- 统一团队 Git 操作流程
+- 减少代码冲突和版本问题
+- 确保代码及时同步和备份
+- 建立规范的提交和推送习惯
+
+## 🔄 日常同步流程
+
+### 1. 开始工作前(拉取最新代码)
+```bash
+# 进入项目目录
+cd D:\mkdocs
+
+# 检查当前状态
+git status
+
+# 拉取远程最新代码
+git pull origin master
+
+# 确认同步完成
+git log --oneline -5
+```
+
+### 2. 工作过程中(定期同步)
+```bash
+# 查看是否有远程更新
+git fetch origin
+
+# 比较本地和远程差异
+git log origin/master..master # 本地有远程没有的提交
+git log master..origin/master # 远程有本地没有的提交
+
+# 如果有远程更新,先拉取
+git pull --rebase origin master
+```
+
+### 3. 提交更改(本地保存)
+```bash
+# 查看更改的文件
+git status
+
+# 添加所有更改(或指定文件)
+git add . # 添加所有更改
+# 或
+git add <文件名> # 添加指定文件
+
+# 提交更改(描述要清晰)
+git commit -m "描述:做了什么修改,为什么修改"
+
+# 提交示例:
+# git commit -m "文档:添加用户认证模块API文档"
+# git commit -m "修复:修正MkDocs构建配置错误"
+# git commit -m "功能:新增Docker部署指南"
+```
+
+### 4. 推送到服务器(共享代码)
+```bash
+# 先拉取最新代码(避免冲突)
+git pull origin master
+
+# 如果有冲突,解决冲突后提交
+# git add .
+# git commit -m "解决合并冲突"
+
+# 推送到远程服务器
+git push origin master
+
+# 验证推送成功
+git log --oneline -3
+```
+
+## 📤 上传新文件流程
+
+### 1. 添加新文档文件
+```bash
+# 创建新文件(如:新功能文档)
+# 文件路径:D:\mkdocs\docs\龙虾openclaw\新功能.md
+
+# 添加到Git跟踪
+git add docs\龙虾openclaw\新功能.md
+
+# 或添加整个目录
+git add docs\龙虾openclaw\
+```
+
+### 2. 添加新目录结构
+```bash
+# 创建新目录
+mkdir -p docs\龙虾openclaw\新模块
+
+# 添加目录和文件
+git add docs\龙虾openclaw\新模块\
+
+# 如果目录中有需要忽略的文件,先更新.gitignore
+```
+
+### 3. 提交和推送
+```bash
+# 提交新文件
+git commit -m "新增:龙虾openclaw新模块文档"
+
+# 推送到服务器
+git push origin master
+```
+
+## 🚨 冲突处理流程
+
+### 1. 检测冲突
+```bash
+# 拉取时发现冲突
+git pull origin master
+# 输出:CONFLICT (content): Merge conflict in <文件名>
+```
+
+### 2. 解决冲突
+```bash
+# 查看冲突文件
+git status
+
+# 手动编辑冲突文件
+# 文件内容会显示:
+# <<<<<<< HEAD
+# 本地内容
+# =======
+# 远程内容
+# >>>>>>> commit-hash
+
+# 保留需要的内容,删除标记
+# 保存文件
+```
+
+### 3. 完成冲突解决
+```bash
+# 标记冲突已解决
+git add <冲突文件>
+
+# 继续合并
+git commit -m "解决合并冲突:<文件描述>"
+
+# 完成推送
+git push origin master
+```
+
+## 📝 提交信息规范
+
+### 格式要求
+```
+<类型>: <简短描述>
+
+<详细描述(可选)>
+```
+
+### 类型说明
+- **文档**: 文档新增、修改、删除
+- **功能**: 新功能、特性添加
+- **修复**: Bug修复、问题解决
+- **优化**: 性能优化、代码重构
+- **配置**: 配置文件修改
+- **依赖**: 依赖包更新
+- **测试**: 测试用例相关
+- **样式**: CSS、样式修改
+
+### 示例
+```
+文档: 添加Git同步规范文档
+
+- 详细说明日常同步流程
+- 规范提交信息格式
+- 添加冲突处理指南
+```
+
+## 🔧 高级操作
+
+### 1. 查看提交历史
+```bash
+# 简洁查看
+git log --oneline -10
+
+# 带图表查看
+git log --graph --oneline --all
+
+# 查看特定文件历史
+git log --oneline -- docs\龙虾openclaw\git同步与上传规范.md
+```
+
+### 2. 撤销操作
+```bash
+# 撤销未提交的修改
+git checkout -- <文件名>
+
+# 撤销已add但未commit的文件
+git reset HEAD <文件名>
+
+# 修改最后一次提交
+git commit --amend -m "新的提交信息"
+```
+
+### 3. 分支管理(如需)
+```bash
+# 创建新分支
+git checkout -b feature/新功能
+
+# 切换分支
+git checkout master
+
+# 合并分支
+git merge feature/新功能
+
+# 删除分支
+git branch -d feature/新功能
+```
+
+## ⚠️ 注意事项
+
+### 必须遵守
+1. **工作前必拉取**:开始工作前必须先 `git pull`
+2. **提交前必检查**:提交前用 `git status` 检查更改
+3. **描述必清晰**:提交信息必须清晰描述修改内容
+4. **冲突必解决**:遇到冲突必须手动解决,不能强制推送
+
+### 建议习惯
+1. **小步提交**:频繁提交,每次提交一个完整的小功能
+2. **及时推送**:完成一个功能后及时推送到远程
+3. **定期同步**:每小时至少同步一次远程代码
+4. **备份重要**:重要修改前创建备份分支
+
+### 禁止操作
+1. ❌ 不要强制推送 `git push -f`(除非明确知道后果)
+2. ❌ 不要提交大文件(超过100MB)
+3. ❌ 不要提交敏感信息(密码、密钥等)
+4. ❌ 不要提交自动生成的文件(如 `.obsidian/workspace.json`)
+
+## 📊 工作流程图
+
+```mermaid
+graph TD
+ A[开始工作] --> B[git pull 拉取最新]
+ B --> C[编辑文档]
+ C --> D[git add 添加更改]
+ D --> E[git commit 提交]
+ E --> F{是否有远程更新?}
+ F -->|是| G[git pull 解决冲突]
+ G --> H[git push 推送]
+ F -->|否| H
+ H --> I[工作完成]
+```
+
+## 🛠️ 工具支持
+
+### 1. Git 配置优化
+```bash
+# 设置用户名和邮箱
+git config --global user.name "你的名字"
+git config --global user.email "你的邮箱"
+
+# 设置默认编辑器
+git config --global core.editor "code --wait"
+
+# 启用颜色显示
+git config --global color.ui auto
+```
+
+### 2. 别名设置(可选)
+```bash
+# 添加到 ~/.gitconfig
+[alias]
+ st = status
+ co = checkout
+ br = branch
+ ci = commit
+ df = diff
+ lg = log --graph --oneline --all
+```
+
+## 📞 问题处理
+
+### 常见问题
+1. **权限错误**:检查 Git 服务器访问权限
+2. **网络问题**:检查网络连接,确认服务器可达
+3. **文件锁定**:关闭正在使用的文件编辑器
+4. **磁盘空间**:确保有足够的磁盘空间
+
+### 求助流程
+1. 先查看错误信息
+2. 搜索错误信息解决方案
+3. 联系团队技术支持(FE工程师)
+4. 提供完整错误日志
+
+---
+
+**最后更新**:2026-03-29
+**维护者**:李建华(FE前端工程师)
+**适用项目**:D:\mkdocs 知识库项目
\ No newline at end of file
From e24216070244cf390a3e35245e480548ac8861e7 Mon Sep 17 00:00:00 2001
From: renjianbo <263303411@qq.com>
Date: Tue, 31 Mar 2026 00:16:21 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0:=20MkDocs=E7=9F=A5?=
=?UTF-8?q?=E8=AF=86=E5=BA=93=E5=90=8C=E6=AD=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 女童生长激素项目文档更新
- 新增Android ANR知识点总结
- 任务执行: DevOps工程师
- 指令来源: CEO张伟明 → 任总
- 时间: 2026-03-31 00:15
---
.obsidian/workspace.json | 163 +++++++-----------------
docs/学习笔记/Android ANR 知识点总结.md | 162 +++++++++++++++++++++++
2 files changed, 207 insertions(+), 118 deletions(-)
create mode 100644 docs/学习笔记/Android ANR 知识点总结.md
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
index 136a3b2..76d6537 100644
--- a/.obsidian/workspace.json
+++ b/.obsidian/workspace.json
@@ -1,101 +1,59 @@
{
"main": {
- "id": "011c443bd31fa19e",
+ "id": "4a0abd11ab571e56",
"type": "split",
"children": [
{
- "id": "6f5c5cdf13008dbc",
+ "id": "fd78b55dba3842ff",
"type": "tabs",
"children": [
{
- "id": "9a5781991bf94030",
- "type": "leaf",
- "state": {
- "type": "bases",
- "state": {
- "file": "未命名 1.base",
- "viewName": "表格"
- },
- "icon": "lucide-table",
- "title": "未命名 1"
- }
- },
- {
- "id": "25c9f7051aac05b3",
+ "id": "ee62f962fb280c83",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
- "file": "docs/Obsidian笔记体系/Daily/2026-01-13.md",
+ "file": "docs/学习笔记/Android ANR 知识点总结.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
- "title": "2026-01-13"
- }
- },
- {
- "id": "59894255df52f532",
- "type": "leaf",
- "state": {
- "type": "markdown",
- "state": {
- "file": "docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md",
- "mode": "source",
- "source": false
- },
- "icon": "lucide-file",
- "title": "知你--调测"
- }
- },
- {
- "id": "c40cc65d2419fc22",
- "type": "leaf",
- "state": {
- "type": "markdown",
- "state": {
- "file": "docs/学习笔记/Android WindowManagerService (WMS) 架构深度解析(第一次提示词).md",
- "mode": "source",
- "source": false
- },
- "icon": "lucide-file",
- "title": "Android WindowManagerService (WMS) 架构深度解析(第一次提示词)"
+ "title": "Android ANR 知识点总结"
}
}
- ],
- "currentTab": 3
+ ]
}
],
"direction": "vertical"
},
"left": {
- "id": "0e065eabdda832e7",
+ "id": "61450059f20f915c",
"type": "split",
"children": [
{
- "id": "2a433fe0f7c72337",
+ "id": "da53592ec51ff7ee",
"type": "tabs",
"children": [
{
- "id": "5b497a77c6d68c73",
+ "id": "c024a2ca8d9509c3",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
- "autoReveal": true
+ "autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "文件列表"
}
},
{
- "id": "845d54777fd1c51f",
+ "id": "866dd8c8b5439582",
"type": "leaf",
"state": {
"type": "search",
"state": {
- "query": "path:\"docs/Obsidian笔记体系/Config/\" ",
+ "query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
@@ -107,7 +65,7 @@
}
},
{
- "id": "65c02e8e96d3fa35",
+ "id": "fc645278d7fba125",
"type": "leaf",
"state": {
"type": "bookmarks",
@@ -120,23 +78,23 @@
}
],
"direction": "horizontal",
- "width": 457.5
+ "width": 300
},
"right": {
- "id": "1e41a867da6b7f39",
+ "id": "df584a0a293988b8",
"type": "split",
"children": [
{
- "id": "ef77172a3f8f60a0",
+ "id": "44d87fa4a69d7032",
"type": "tabs",
"children": [
{
- "id": "a990ef40768fba24",
+ "id": "6c4b61ba760eecc8",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
- "file": "docs/Obsidian/2026-01-05 个人文档管理.md",
+ "file": "docs/学习笔记/Android ANR 知识点总结.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
@@ -146,25 +104,25 @@
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
- "title": "2026-01-05 个人文档管理 的反向链接列表"
+ "title": "Android ANR 知识点总结 的反向链接列表"
}
},
{
- "id": "2a4816e9de5c79b1",
+ "id": "5f6ecdb98efa5aaa",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
- "file": "docs/Obsidian/2026-01-05 个人文档管理.md",
+ "file": "docs/学习笔记/Android ANR 知识点总结.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
- "title": "2026-01-05 个人文档管理 的出链列表"
+ "title": "Android ANR 知识点总结 的出链列表"
}
},
{
- "id": "266c7e7083cb214c",
+ "id": "42daa9caba41cac7",
"type": "leaf",
"state": {
"type": "tag",
@@ -179,7 +137,7 @@
}
},
{
- "id": "f88882a46f03096a",
+ "id": "994bca394167d46e",
"type": "leaf",
"state": {
"type": "all-properties",
@@ -193,18 +151,18 @@
}
},
{
- "id": "9abea599d31b90b9",
+ "id": "e6d6c4e1986fdcf3",
"type": "leaf",
"state": {
"type": "outline",
"state": {
- "file": "docs/Obsidian/2026-01-05 个人文档管理.md",
+ "file": "docs/学习笔记/Android ANR 知识点总结.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
- "title": "2026-01-05 个人文档管理 的大纲"
+ "title": "Android ANR 知识点总结 的大纲"
}
}
]
@@ -216,62 +174,31 @@
},
"left-ribbon": {
"hiddenItems": {
- "bases:新建数据库": false,
"switcher:打开快速切换": false,
"graph:查看关系图谱": false,
"canvas:新建白板": false,
"daily-notes:打开/创建今天的日记": false,
"templates:插入模板": false,
- "command-palette:打开命令面板": false
+ "command-palette:打开命令面板": false,
+ "bases:新建数据库": false
}
},
- "active": "c40cc65d2419fc22",
+ "active": "ee62f962fb280c83",
"lastOpenFiles": [
- "docs/学习笔记/Android WindowManagerService核心原理深度解析(专家第二次提示词).md",
- "docs/学习笔记/Android性能分析标准化操作手册.md",
- "docs/学习笔记/Android游戏整机性能卡顿与丢帧根因分析与优化指南.md",
- "docs/学习笔记/Android整机性能分析与问题定位实战指南.md",
- "docs/学习笔记/DevOps学习.md",
- "docs/cursor/cursor使用技巧.md",
- "docs/Obsidian/高频命令.md",
- "docs/cursor/cursor.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/测试用例.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/知你客服 6 号(检索增强记忆).md",
- "docs/Obsidian笔记体系/Projects/聊天平台/聊天模型记忆解解方案.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/未命名.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/知你客服5号的设计.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/agent智能体性能调测.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/接入方式.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/聊天平台.md",
- "docs/adb调试命令/adb常用命令.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/app.md",
- "docs/Obsidian笔记体系/Projects/聊天平台/数据库配置.md",
- "docs/Obsidian笔记体系/Projects/saars开发/数据库配置.md",
- "docs/Obsidian笔记体系/Projects/saars开发/aiapply/智能配置助手功能已完成.md",
- "docs/Obsidian笔记体系/Projects/saars开发/aiapply/聊天智能机器人(苏苏).md",
- "docs/Obsidian笔记体系/Projects/saars开发/aiapply/电商系统用户订单处理流程设计方案.md",
- "docs/Obsidian笔记体系/Projects/saars开发/aiapply/个人简历.md",
- "docs/Obsidian笔记体系/Projects/saars开发/aiapply/# 创建Agent经验总结.md",
- "docs/Obsidian笔记体系/Projects/aitsc/ai提示词常用命令.md",
- "docs/Obsidian笔记体系/Projects/聊天平台",
- "docs/Obsidian笔记体系/Projects/aitsc",
- "未命名 1.base",
- "docs/Obsidian笔记体系/Projects/提示词大师",
- "docs/学习笔记/产品经理",
- "Pasted image 20260129111501.png",
- "Pasted image 20260129111451.png",
- "Pasted image 20260129111437.png",
- "Pasted image 20260129111431.png",
- "Pasted image 20260129111423.png",
- "Pasted image 20260129111418.png",
- "Pasted image 20260129111414.png",
- "Pasted image 20260129111408.png",
- "Pasted image 20260129111404.png",
- "Pasted image 20260129111354.png",
- "docs/产品经理",
- "docs/Obsidian笔记体系/Projects/女童生长激素项目",
- "docs/学习笔记/php",
- "docs/cursor/php",
- "com.xiaomi.appstore.appclaim.signature.verification.apk"
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/后台管理网址.md",
+ "docs/学习笔记/Android ANR 知识点总结.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/ssl证书申请.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/项目目录位置.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/使用系统nginx.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/生长激素缺乏预测模型项目需求文档.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/配置完成.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔nginx和系统nginx对比分析.md",
+ "docs/Obsidian笔记体系/Projects/女童生长激素项目/宝塔面板.md",
+ "docs/学习笔记/龙虾能力.md",
+ "docs/龙虾openclaw/git同步与上传规范.md",
+ "docs/龙虾openclaw",
+ "docs/龙虾",
+ "docs/新建文件夹",
+ "docs/学习笔记/龙虾配置.md"
]
}
\ No newline at end of file
diff --git a/docs/学习笔记/Android ANR 知识点总结.md b/docs/学习笔记/Android ANR 知识点总结.md
new file mode 100644
index 0000000..0867e9c
--- /dev/null
+++ b/docs/学习笔记/Android ANR 知识点总结.md
@@ -0,0 +1,162 @@
+## 1. 什么是 ANR
+
+ANR 全称:**Application Not Responding**,即**应用程序无响应**。
+
+## 2. 触发条件
+
+1. 只有 ** 主线程(UI 线程)** 才会产生 ANR。
+2. 必须发生输入事件或特定组件操作:
+
+ - 按键、触屏等输入事件
+ - `BroadcastReceiver` 生命周期回调
+ - `Service` 生命周期回调
+
+3. 事件响应超时,不同场景超时时间不同。
+
+### 2.1 各场景超时时间
+
+- **Activity 输入事件 / 生命周期**:主线程 5s 内未处理完毕
+- **BroadcastReceiver#onReceive()**:主线程 10s 内未处理完毕
+- **Service 生命周期**:主线程 20s 内未处理完毕
+
+## 3. ANR 根本原因
+
+### 3.1 主线程执行耗时操作
+
+典型场景:
+
+- 耗时网络访问
+- 大量数据读写、数据库操作
+- 硬件操作(如 Camera)
+- 多线程被 Binder 对端 block
+- 主线程调用 `Thread.join()`/`sleep()`/`wait()`、等待线程锁
+- Service Binder 数量达上限,无法与 System Server 通信
+- System Server 中 WatchDog 导致 ANR、Service 繁忙超时
+
+### 3.2 非主线程导致
+
+非主线程持有锁,导致主线程等待锁超时 / 无限等待,最终触发 ANR。
+
+### 3.3 其他进程 / 系统资源问题
+
+- 其他进程占用 CPU,本进程得不到时间片
+- 内存泄漏导致频繁 Full GC,CPU 占用飙升
+- 内存吃紧、系统频繁 coredump
+
+> CPU 利用率说明:
+>
+> - 前台进程 ≤ 95%,后台进程 ≤ 5%(无前台时可超)
+> - `RUNNABLE` 线程不一定耗 CPU
+> - `TIMED_WAITING`/`WAITING` 线程不耗 CPU
+> - I/O 操作本身不怎么耗 CPU
+
+> 注意:
+>
+> “内存泄露” 可能是真实泄漏点,也可能是堆内存占用过大、内存吃紧,间接导致 ANR/CPU 过高。
+
+## 4. ANR 类型及日志关键字
+
+表格
+
+|ANR 类型|超时时间|Logcat 关键字|
+|---|---|---|
+|InputDispatching Timeout|5s|`Input event dispatching timed out`|
+|BroadcastTimeout|前台 10s
后台 60s|`Timeout of broadcast BroadcastRecord`|
+|ServiceTimeout|前台 20s
后台 200s|`Timeout executing service`|
+|ContentProviderTimeout|10s|`timeout publishing content providers`|
+
+## 5. ANR 定位方法
+
+入手点:ANR 前后日志 + `/data/anr/traces.txt`
+
+### 5.1 日志分析
+
+1. 搜索 `ANR in`:定位发生 ANR 的进程
+2. 搜索 `ActivityManager:CPU usage from`:判断是否 CPU 过高
+
+### 5.2 traces.txt 分析
+
+1. 搜索 `held by tid=`:排查死锁
+2. 查看 `stackSize=`:判断是否内存问题
+
+### 5.3 整体分析步骤
+
+1. 确定 ANR 时间点
+
+ - 关键字:`anr in`、`blocked`、`blockMonitor`、`freezedector`
+ - 获取:版本号、PID、是否前台、页面、温度、频点、ANR 类型
+
+2. 根据 ANR 类型回溯对应时间段日志
+
+ - 查找 `Subject` / `Reason`
+
+3. 分析 ANR 堆栈
+
+ - 查找 `sysTid=线程号`
+ - 状态为 `block`/`timeout` 一般为真实问题堆栈
+
+
+### 5.4 核心分析思路
+
+1. **查看 CPU 负载**
+
+ - user:用户态
+ - kernel:内核态
+ - iowait:IO 等待
+ - faults:内存缺页
+
+2. **查看主线程状态**
+
+ - `Native`:正常空闲,等待消息
+ - `Runnable`:主线程执行耗时操作
+ - `Blocked`:主线程被锁阻塞,可查 `waiting to lock...held by thread`
+
+3. **其他应用抢占 CPU**
+
+ 日志会显示高占比包名,CPU 上限 = 核心数 × 100%
+4. **系统服务 / Binder 问题**
+
+ 搜索:`BinderProxy.transactNative`
+
+ 可能原因:Binder 超时、Binder 资源耗尽
+5. **内存紧张导致 ANR**
+
+ - 查看 ANR 前空闲内存
+
+ - 4G 及以下:阈值约 350M
+ - 4G 以上:阈值约 450M
+
+ - 查看 `trimMemory` 调用(level 越大内存越紧张:5/10/20/40/60/80)
+
+
+## 6. 典型示例
+
+1. 主线程与子线程互锁导致 ANR
+2. Android 系统库崩溃(如 `libweexcore.so` 等)
+3. `nativePollOnce` 阻塞
+4. Binder 对端阻塞(如第三方推送 SDK)
+
+## 7. 非应用自身导致的 ANR
+
+1. **热限频**
+
+ - 温度 > 41℃
+ - 大核频点 < 1.8GHz 且跑满
+
+2. **Monkey 异常场景**
+
+ - 焦点不在当前应用 / 页面已销毁,仍分发输入事件
+ - 不属于 App 代码问题
+
+
+## 8. ANR 根本原因分类总结
+
+表格
+
+|原因类别|具体表现|
+|---|---|
+|主线程自身问题|主线程执行耗时操作、死循环、复杂计算、同步 IO / 网络|
+|线程间竞争|主线程等待子线程锁、死锁、子线程崩溃导致主线程无限等待|
+|CPU 被抢占|其他进程占满 CPU、频繁 GC|
+|系统资源瓶颈|内存紧张、GC 频繁、系统服务繁忙、Binder 耗尽|
+|系统 / 环境问题|热限频、Monkey 异常、系统服务超时|
\ No newline at end of file