【问题标题】:Android WallpaperManager method "soft-bricking" user's phones and causing an unresponsive deviceAndroid WallpaperManager 方法“软砖化”用户的手机并导致设备无响应
【发布时间】:2019-02-23 12:59:47
【问题描述】:

在过去 2 天内,我有 2 位用户报告说他们的手机在同一时间使用我的应用程序时发生了崩溃并且在执行恢复出厂设置之前一直没有响应。我发现其他类似的应用程序也会发生这种情况,并相信这些报告是可信的,但没有其他解决方案或讨论任何地方。 (Android 9.0 SDK 28 上的 Google 和 OnePlus)

他们都描述了一个空白、黑色和无响应的锁屏,即使在安全模式下也会持续存在。在这种“卡住”状态下,只有电源按钮和电源菜单有效。两个用户都是无根用户,使用相同的设置,并使用默认的 Android 启动器。

根据他们的报告,在使用过程中发生的唯一“危险”事情是:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(context);

wallpaperManager.setBitmap(bmp, null, false, WallpaperManager.FLAG_SYSTEM);

这在 AsyncTask 中运行,除了上述之外没有什么特别的。我预计这是一个异常情况,因为它似乎只在几千名用户中被报告过两次,但它令人担忧。我不确定这是 Bitmap 泄漏、SystemUI 还是 Android 本身的问题。

【问题讨论】:

  • 您好,您解决了这个问题吗?我已经评论了另一个答案。
  • @simone_s1994,我还没有解决这个问题,我还没有看到任何崩溃日志或发生在我自己身上。这是否发生在您自己的设备上?我愿意与您一起帮助我们找到解决方案
  • 没有崩溃,没有日志,什么都没有。我的应用程序正确更改壁纸,但有一点冻结。我的用户在带有 Android Pie 的诺基亚 8 上发现了这个问题(我有一个 2 月更新的 Pixel 3),只有当我在设备上选择浅色主题而不是深色主题或自动主题时,问题似乎才能解决.不知道是不是Android Pie的问题。
  • @simone_s1994,我的用户也都在使用 Android Pie,而 Firebase/Play 控制台没有列出他们设备的任何崩溃报告。我已经使用 Google 问题跟踪器打开了一张票,您是否尝试过任何其他错误记录方法?
  • 不,没什么......

标签: java android


【解决方案1】:

是的。 setBitmap() 很危险,图像可能太大。如果您让用户设置自己的壁纸,请检查图像尺寸并调整大小。

【讨论】:

  • 嗯,对我来说同样的问题。我试过在我的 Pixel 3 上使用 1000x2000px 的位图,问题只出现在 android 9 上。可能与主题有关,如果我选择“浅色主题”,我的应用程序运行正常。
  • 编辑:与 300x600 位图相同的问题。只有当我在主屏幕上设置壁纸时才会出现问题。
猜你喜欢
  • 1970-01-01
  • 2012-12-22
  • 1970-01-01
  • 2017-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多