Android OPPO 5.1手机 .AssetManager

2020-10-21  本文已影响0人  itwillrain

友盟bug 主要是oppo A59 5.1系统手机

java.util.concurrent.TimeoutException: android.content.res.AssetManager.finalize() timed out after 120 seconds

    at android.content.res.AssetManager.destroy(Native Method)

    at android.content.res.AssetManager.finalize(AssetManager.java:571)

    at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:214)

    at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:193)

    at java.lang.Thread.run(Thread.java:818)

解决方法
/** * fix 部分OPPO机型 AssetManager.finalize() timed out */

private void fixOppoAssetManager() {

String device = AndroidUtil.getDeviceName();

    LogUtils.d(device);

    if (!TextUtils.isEmpty(device)) {

if (device.contains("OPPO R9") || device.contains("OPPO A5")) {

try {

// 关闭掉FinalizerWatchdogDaemon

                Class clazz = Class.forName("java.lang.Daemons$FinalizerWatchdogDaemon");

                Method method = clazz.getSuperclass().getDeclaredMethod("stop");

                method.setAccessible(true);

                Field field = clazz.getDeclaredField("INSTANCE");

                field.setAccessible(true);

                method.invoke(field.get(null));

            }catch (Throwable e) {

e.printStackTrace();

            }

}

}

转自 https://segmentfault.com/a/1190000019373275

上一篇 下一篇

猜你喜欢

热点阅读