一个app中有多个进程,并且每个进程中都用到了webview,在Android P 及之后的版本中运行会报错。错误信息:

Caused by: java.lang.RuntimeException: Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377
(不支持同时使用多个进程中具有相同数据目录的WebView)

谷歌也给出的解决方案:在初始化的时候,需要为其它进程webView设置目录 

/**在进程初始化的时候调用,比如Application中进行调用,并且这行代码需要在其他的SDK等等初始化之前就要调*用,否则会报其他的错误*/         //Android P 以及之后版本不支持同时从多个进程使用具有相同数据目录的WebView        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {            String processName = getProcessName(this);            if (!"应用包名".equals(processName)){//判断不等于默认进程名称                WebView.setDataDirectorySuffix(processName);}        }        public  String getProcessName(Context context) {        if (context == null) return null;        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        for (ActivityManager.RunningAppProcessInfo processInfo : manager.getRunningAppProcesses()) {            if (processInfo.pid == android.os.Process.myPid()) {                return processInfo.processName;            }        }        return null;    }

android P及之后的版本越来越多的坑,等你发现

更多相关文章

  1. ADK的安装
  2. android 系统资源的加载和获取
  3. 全局共享变量(Android)
  4. Android(安卓)adb setuid提权漏洞的分析
  5. Android(安卓)Sqlite数据库跨版本升级 保存之前数据
  6. Android(安卓)Studio 本地化配置gradle的buildToolsVersion和gra
  7. android体系架构
  8. 安卓开发环境安装
  9. android 进程内存查看

随机推荐

  1. 如何优化网站产品页面
  2. 网站如何寻找友情链接,网站友情链接的作用
  3. 如何让新的网站被收录?
  4. 首选域是什么意思?
  5. 做SEO如何选择域名?
  6. 网站外链建设注意事项有哪些
  7. 如何设计营销型网站首页?营销型网站首页九
  8. 营销型网站结构如何规划?营销型网站URL布
  9. 网站内容更新频率如何控制?网站内容更新注
  10. 目标关键词和长尾关键词的区别?怎样挖掘长