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

Unity 使用 ADB 实时查看手机运行性能

Unity 使用 ADB 实时查看手机运行性能

  • 前言
  • 操作步骤
    • ADB工具下载
    • ADB工具配置
    • 手机进入开发者模式并开启USB调试
    • 使用ADB连接手机
    • Unity打包设置
    • 使用Profiler实时查看性能情况
    • 优化建议
  • 常见问题

前言

通过 ADB(Android Debug Bridge)连接安卓设备,并结合 Unity Profiler 实时查看应用性能。

操作步骤

ADB工具下载

ADB工具下载地址
https://developer.android.com/tools/releases/platform-tools

ADB工具配置

将下载并解压后的 platform-tools 文件夹,移动到不含中文或空格的路径(建议 C:\platform-tools 或 /usr/local/platform-tools)。
Windows:
打开「系统属性」→「高级」→「环境变量」
在「系统变量」下,找到或新增 PATH,添加 C:\platform-tools。
保存后,重启终端以生效。
解压并配置环境变量

手机进入开发者模式并开启USB调试

MIUI(小米)示例:

  1. 开启开发者模式
    设置->我的设备->全部参数信息->一直点击MIUI版本号,直到弹出你已进入开发者模式为止
  2. 开启 USB 调试
    设置 → 系统或更多设置 → 开发者选项 → 打开「USB 调试」
  3. 连接与授权
    使用 USB 数据线连接手机,选择「文件传输」模式
    设备端出现「允许 USB 调试」弹窗,选择「始终允许」并确认

不同手机参考方法:
https://www.bilibili.com/opus/913872738855157767

在终端(Terminal / CMD)中执行:

使用ADB连接手机

打开cmd输入adb devices即可查看设备列表

adb devices

若看到类似 device 状态,即表示连接成功:

List of devices attached
1234567890abcdef	device

Tip:若显示 unauthorized,检查设备是否授权,或重插数据线重试。

Unity打包设置

File → Build Settings,选择 Android 平台,勾选 Development Build 与 Script Debugging
打包设置

使用Profiler实时查看性能情况

  1. Window → Analysis → Profiler 打开 Profiler 窗口

  2. 在左侧设备下拉框,选择对应的 Android 设备

  3. 点击顶部「Record」按钮,开始实时捕获数据

  4. 关注:

  • CPU Usage:查看各模块耗时
  • Rendering:Draw Call、Batches、SetPass Calls
  • Memory:GC Alloc、纹理、堆内存
  • GPU(需设备支持)Profiler查看性能

优化建议

  • 帧率稳定性:利用 Deep Profile 模式,查看热点函数调用栈
  • GC 触发点:监控 GC Alloc,避免在热路径中产生大量临时对象
  • Draw Call 优化:合并材质、使用 Static Batching 与 Dynamic Batching
  • 内存管理:加载时延迟释放、资源池化(Object Pool)
  • 纹理与 Mipmap:适当压缩、裁剪避免超高分辨率资源

常见问题

  1. 连接不上设备:
  • 检查数据线质量与接口,确认 adb kill-server → adb start-server
  1. Profiler 无数据:
  • 确保 Development Build 勾选,检查防火墙或网络代理

相关文章:

  • [linux]设置邮件发送告警功能
  • 【C++】入门基础【下】
  • 编译 C++ 报错“找不到 g++ 编译器”的终极解决方案(含 Windows/Linux/macOS)
  • 2025最新系统 Linux 教程(六)
  • HTML5 服务器发送事件 (Server-Sent Events):实现网页自动获取服务器更新
  • 第53.5讲 | 小项目实战:用 SHAP 值解释农作物产量预测模型 [特殊字符][特殊字符]
  • Next.js v15 eslint 规则配置
  • Spring Boot知识点详解
  • 27、Session有什么重⼤BUG?微软提出了什么⽅法加以解决?
  • 【基础】Node.js 介绍、安装及npm 和 npx功能了解
  • 如何快速高效学习Python?
  • 界面开发框架DevExpress XAF实践:如何在Blazor项目中集成.NET Aspire?(二)
  • (第三篇)Springcloud之Ribbon负载均衡
  • 精益数据分析(21/126):剖析创业增长引擎与精益画布指标
  • 从码云上拉取项目并在idea配置npm时完整步骤
  • 【Spring Boot】深入解析:#{} 和 ${}
  • 算法笔记.spfa算法(bellman-ford算法的改进)
  • 五、web自动化测试01
  • 电脑怎么强制退出程序回到桌面 详细操作步骤
  • 为什么要提出Null-text Inversion
  • 榆林市委常委王华胜已任榆林市政协党组书记
  • 三杀皇马剑指四冠,硬扛到底的巴萨,赢球又赢人
  • 读科学发展的壮丽史诗,也读普通人的传奇
  • 新版国家卫生监督抽查计划发布,首次明确打击网络“医托”
  • 新城市志|中国消费第一城,迎来“补贴力度最大”购物节
  • 最高法改判一起植物新品种侵权案:判赔逾5300万元破纪录