gpt4 book ai didi

android - 致命异常 : java. lang.RuntimeException:不支持同时使用来自多个进程的 WebView 和相同的数据目录

转载 作者:行者123 更新时间:2023-12-03 13:25:06 28 4
gpt4 key购买 nike

1.当我在 Android 9 上的 Fragment onCreateView 方法 inflater.inflate(webview_layout, container, false) 中可能会崩溃并出现爆炸日志:

    Fatal Exception: java.lang.RuntimeException:Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377    at jO.b(PG:102)    at jQ.run(PG:3)    at android.os.Handler.handleCallback(Handler.java:873)    at android.os.Handler.dispatchMessage(Handler.java:99)    at android.os.Looper.loop(Looper.java:226)    at android.app.ActivityThread.main(ActivityThread.java:7210)    at java.lang.reflect.Method.invoke(Native Method)    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:499)    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:961)

2.I try add blow code in Application onCreate method

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
String processName = getProcessName();
if (!MAIN_PROCESS.equals(processName)) {
WebView.setDataDirectorySuffix(getProcessName() + ".webview");
}
}

但是一些Android手机也以同样的原因崩溃,我不使用多进程的webview,然后我尝试在inflater.inflate(webview_layout,container,false)之前在Fragment onCreateView中添加这段代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
String processName = getProcessName();
try {
WebView.setDataDirectorySuffix(processName);
} catch (Throwable e) {
// ignore
}
}

但是我在 PCAM10\PCEM00\PCAT10... 中也得到了一些相同的崩溃报告......而且我无法在本地重新出现这个崩溃。

这次崩溃还有其他原因吗?

最佳答案

在初始化 Admob 之前在 Application 类中使用此代码解决我的问题:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
val process = getProcessName()
if (packageName != process) WebView.setDataDirectorySuffix(process)
}

MobileAds.initialize(this)

关于android - 致命异常 : java. lang.RuntimeException:不支持同时使用来自多个进程的 WebView 和相同的数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62079558/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com