You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

三星Galaxy A13上始终自动生成的bg_startup_tracing共享偏好键问题

关于bg_startup_tracing共享偏好键的解惑

这个键的作用

bg_startup_tracing是一个布尔型标记,用于控制应用的后台启动性能追踪,值为false代表关闭该追踪功能。它起源于Chromium项目的基础组件,原本是用来在应用启动阶段收集性能数据,辅助排查启动慢等性能问题的。

是谁写入的这个键?

这个键并非你的应用代码主动生成的,而是由Android Studio的调试/测试工具链或与Chromium相关的系统组件注入的:

  • 从你补充的测试场景来看,只要通过Android Studio运行测试(不管是三星Galaxy A13还是Pixel 4a设备),相关调试工具就会在应用启动初期自动写入这个键,用来配置启动追踪的行为。
  • 部分搭载Android 14的设备上,系统集成的WebView相关服务(基于Chromium内核)也可能触发这个键的写入,这也是模拟器上不会出现的原因——模拟器默认的系统组件配置和实体设备有差异。
  • 其他第三方应用(比如Nextcloud News Android客户端)的开发者也遇到过完全相同的问题,证明这是一个跨应用的工具/系统层面的行为。

为什么清除后重启还会出现?

因为写入这个键的逻辑是在你的应用代码执行之前触发的(属于启动初期的系统/工具钩子),所以哪怕你在代码里调用PreferenceManager.getDefaultSharedPreferences(context).edit().clear().apply()清空偏好,下次启动时相关工具或组件还是会重新写入这个键。

应对方案

如果这个键干扰了你的应用逻辑判断,可以通过两种方式处理:

  1. 应用启动时主动移除该键:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
if (prefs.contains("bg_startup_tracing")) {
    prefs.edit().remove("bg_startup_tracing").apply();
}
  1. 在读取偏好数据时过滤掉这个键:
Map<String, ?> allPrefs = new HashMap<>(prefs.getAll());
allPrefs.remove("bg_startup_tracing");
// 后续基于过滤后的allPrefs进行业务判断

内容的提问来源于stack exchange,提问作者Hélène Martin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 15:42:13