android.content.res.AssetManager.finalize() timed out after 120 seconds

该错误主要集中oppo R9 系列手机
错误:

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
     *
     * @author zy
     * @time 19-5-30 下午3:54
     */
    private void fixOppoAssetManager() {
        String device = DeviceUtil.getSystemModel();
        if (!TextUtils.isEmpty(device)) {
            if (device.contains("OPPO R9") || device.contains("OPPO A57")) {
                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();
                }
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/weixin_33724059/article/details/90826461