news 2026/1/28 16:31:48

Android 默认的日志记录方式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 默认的日志记录方式

dumpsys 的作用

dumpsys是 Android 系统中一个功能强大的诊断工具,主要用于:

  1. 系统服务状态查询:获取正在运行的 system services 的状态信息
  2. 调试分析:检查内存、电池、网络、Activity、进程等状态
  3. 性能分析:分析应用性能问题,检查服务运行状况
  4. 故障排查:诊断系统或应用异常
  5. 信息导出:生成系统状态快照供后续分析

常用命令示例:

# 查看所有可用的系统服务dumpsys -l# 查看 Activity 状态dumpsys activity activities# 查看内存信息dumpsys meminfo# 查看电池状态dumpsys batterystats# 查看特定包名的信息dumpsys package com.example.app

Android 默认的日志记录方式

1.Logcat(最常用)

  • 系统日志:内核、系统服务、应用日志
  • 实时查看adb logcat
  • 过滤级别:V/D/I/W/E(Verbose/Debug/Info/Warning/Error)
  • 缓冲区:main, system, events, radio, crash 等

2.System Tracing (Perfetto/Systrace)

  • 性能跟踪:CPU、GPU、内存、功耗、应用启动等
  • 图形化分析:Chrome 浏览器打开.perfetto-trace.html文件
  • 启用方式:
    # 命令行捕获adb shell perfetto --config :test --out /data/misc/perfetto-traces/trace.perfetto-trace# 或使用 Systracepython systrace.py -o trace.html sched gfx view wm

3.Bug Report

  • 完整系统快照:包含 logs、dumpsys、tombstones、ANR traces 等
  • 生成方式:
    adb bugreport# 或设备上:设置 → 开发者选项 → 错误报告

4.ANR Traces

  • 应用无响应/data/anr/traces.txt
  • 获取方式:
    adb pull /data/anr/traces.txt

5.Tombstones

  • Native 层崩溃/data/tombstones/
  • 用于分析 C/C++ 层崩溃

6.Dropbox

  • 系统异常收集:crash、ANR、watchdog、低内存等
  • 位置:/data/system/dropbox/

7.Event Log (events 缓冲区)

  • 系统事件:安装、启动、点击等系统事件
  • 查看:adb logcat -b events

8.Kernel Log (kmsg/dmesg)

  • 内核日志:驱动程序、内核事件
  • 查看:
    adb shelldmesgadb shellcat/proc/kmsg

9.Mainline Logs

  • 模块化组件日志:Google Play 系统更新模块日志

控制台常用打印/调试命令

系统状态类

# 进程和内存adb shellps-A# 所有进程adb shelltop# 实时进程状态adb shell procrank# 进程内存排名adb shell showmap<pid># 进程内存映射# 系统属性adb shell getprop# 所有系统属性adb shell wm size# 屏幕分辨率adb shell dumpsys window displays# 显示信息# 包管理adb shell pm list packages# 所有应用包名adb shell dumpsys package<pkg># 包详细信息

性能分析类

# CPU/GPUadb shell cpuinfo# CPU信息adb shell dumpsys gfxinfo# 图形性能adb shell dumpsys SurfaceFlinger --latency# 帧率# 电池和功耗adb shell dumpsys batterystats --reset adb shell dumpsys battery# 电池状态# 网络adb shellnetstat# 网络连接adb shell dumpsys netstats# 网络统计adb shell dumpsys connectivity# 连接状态

存储和文件

adb shelldf# 磁盘空间adb shelldu-sh /path# 目录大小adb shellls-la /data/logs/# 日志文件列表

调试辅助

# 输入事件adb shell input keyevent KEYCODE_HOME# 模拟按键adb shell input tap x y# 模拟点击adb shell input swipe x1 y1 x2 y2# 模拟滑动# 截图和录屏adb shell screencap /sdcard/screen.png adb shell screenrecord /sdcard/demo.mp4

广播和组件

# 发送广播adb shell am broadcast -a<action># 启动组件adb shell am start -n<component>adb shell am startservice<component># Activity 栈adb shell dumpsys activity intents adb shell dumpsys activity broadcasts

实用技巧

# 同时查看多个日志源adb logcat -b main -b system -b events -b crash# 按优先级过滤adb logcat *:E# 只显示错误adb logcat *:W# 警告及以上# 按标签过滤adb logcat -s ActivityManager PackageManager# 清空日志adb logcat -c

这些工具组合使用可以全面诊断 Android 系统的各种问题,从应用崩溃到性能优化,从系统异常到功耗分析。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/28 16:31:39

内存中遍历 1GB 数组的庖丁解牛

“内存中遍历 1GB 数组” 表面看是简单循环&#xff0c;实则涉及 CPU 缓存、虚拟内存、内存带宽、预取机制 四大底层系统。它不仅是算法问题&#xff0c;更是 计算机体系结构的综合体现。 一、硬件原理&#xff1a;数据如何从内存到 CPU&#xff1f; ▶ 1. 内存层级结构&#…

作者头像 李华
网站建设 2026/1/28 16:31:12

CCF编程能力等级认证GESP—C++3级—20251227

CCF编程能力等级认证GESP—C3级真题 单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09;判断题&#xff08;每题 2 分&#xff0c;共 20 分&#xff09;编程题 (每题 25 分&#xff0c;共 50 分)密码强度小杨的智慧购物 单选题&#xff08;每题 2 分&#xff0c;共 …

作者头像 李华
网站建设 2026/1/28 16:25:58

推荐一个适合所有Java程序员2026年跳槽的硬核神器!

最近小伙伴在我后台留言是这样的&#xff1a;现在就这光景&#xff0c;不比以前&#xff0c;会个CRUD就有人要&#xff0c;即使大部分公司依然只需要做CRUD的事情......现在去面试&#xff0c;只会CRUD还要被吐槽&#xff1a;面试造火箭&#xff0c;工作拧螺丝&#xff0c;就是…

作者头像 李华
网站建设 2026/1/28 16:25:55

Spring面试重点难点总结(2026版)

Spring框架自从诞生以来就一直备受开发者青睐&#xff0c;它涵盖了Spring、Springboot、SpringCloud等诸多解决方案&#xff0c;一般我们都会统称为Spring全家桶&#xff01;出于Spring框架在Java开发者心中中的统治地位&#xff0c;所以不管是面试还是工作&#xff0c;Spring都…

作者头像 李华