通过ADB 触发gc

复制代码
adb shell dumpsys meminfo cn.com.x.main -gc

详细拆解

  • dumpsys meminfo: 原本是用来查看内存详情的工具。

  • gc : 这是一个隐藏的子指令。当 meminfo 带着 gc 参数指向某个包名时,系统会先对该进程触发一次 强制同步 GC,然后再收集内存数据。

  • cn.com.x.main: 目标 App 的包名。

Mac/Linux (每 5 秒自动触发并查看结果):

复制代码
watch -n 5 "adb shell dumpsys meminfo cn.com.x.main -gc | grep TOTAL"

windows下 powershell 中每5s gc 一下:

复制代码
while($true) { adb shell dumpsys meminfo cn.com.x.main -gc; sleep 5 }

内容分析:

  • PSS Total: 158,437K (约 155MB) 在电视盒端,这个内存占用属于中等偏高

  • 内存分布情况:

    • Dalvik (Java 内存): 81,012K ------ 这是 App 逻辑占用的主要部分,说明 Java 层的对象较多。

    • Native (原生内存): 84,255K ------ 这部分通常包含图片解码、视频渲染缓冲区或 C++ 层插件。

    • Mmap (.so/.dex/.art): 约 100MB+ ------ 这些是代码和资源的映射,属于正常开销。

这是一台 Low-Ram(低内存) 设备,从以下指标可以看出:

  • Total RAM: 980,444K (标称 1GB)

  • Free RAM: 仅 69MB (空闲内存极低)

  • Used RAM: 726,321K

  • ZRAM: 90,772K 物理内存压缩了 278MB 的数据

    • 分析 :系统已经在拼命压缩内存以维持运行了。Swap Pss 达到了 244MB ,这意味着 cn.com.x.main 里的很多数据其实被置换到了压缩内存里。当你操作 App 时,可能会感觉到轻微的卡顿,因为系统需要不断地解压数据。
相关推荐
闻哥4 小时前
MySQL索引核心原理:B+树生成、页分裂与页合并全解析
java·jvm·b树·mysql·adb·面试·springboot
skiy7 小时前
【MySQL 的数据目录】
数据库·mysql·adb
Paxon Zhang9 小时前
MySQL初阶入门的第一步
数据库·mysql·adb
qiuyuyiyang19 小时前
【MySQL】环境变量配置
数据库·mysql·adb
yashuk1 天前
【MySQL】表的相关操作
android·mysql·adb
jolimark1 天前
【mysql部署】在ubuntu22.04上安装和配置mysql教程
android·mysql·adb
吉哥机顶盒刷机1 天前
硬核玩机:基于ADB的电视盒子应用管理、桌面替换与全能播放器配置
经验分享·adb·工具·桌面替换
luom01022 天前
【MySQL 的数据目录】
数据库·mysql·adb
dreamread2 天前
Linux下MySQL的简单使用
linux·mysql·adb
李小白杂货铺2 天前
智能电视 ADB 调试连接失败的解决办法
adb·智能电视·远程调试·adb调试·adb版本·替换adb版本·甲壳虫adb助手