外观
性能监控与崩溃分析
- 如何捕获未处理的异常并上报到服务器?
- 什么是 ANR?它产生的根本原因有哪些?
- 如何通过 trace.txt 文件分析 ANR 的主线程阻塞点?
- Firebase Crashlytics 如何自动收集崩溃堆栈和设备信息?
- 如何为 Crashlytics 添加自定义日志和用户标识?
- Sentry 与 Crashlytics 在功能和成本上有何差异?
- 如何定义和监控 App 的关键性能指标(KPI)如启动时间、FPS、内存峰值?
- 什么是冷启动、温启动和热启动?如何测量它们的耗时?
- 如何通过埋点分析用户流失点和功能使用率?
- 为什么在 Release 版本中应禁用 verbose 和 debug 级别的日志?
- 如何使用 Timber 或自定义 Logger 实现日志分级和输出控制?
- 如何避免在日志中打印敏感信息(如 Token、密码)?
- UI Automator 和 Espresso 的区别是什么?各自适用什么测试场景?
- 如何编写一个自动化测试用例来验证登录流程的稳定性?
- 什么是 Monkey 测试?它能发现哪些类型的问题?