Android WallpaperManager方法“软砖墙”用户的电话并导致设备无响应

时间:2019-02-23 04:39:07

标签: java android

最近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本身是否有问题。

1 个答案:

答案 0 :(得分:0)

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