友盟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
网友评论