android - AppCompatActivity onCreate 中的 java.util.ConcurrentModificationException
问题描述
我在崩溃日志中看到一堆 ConcurrentModificationException。有没有人遇到过这个?
Caused by java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)
at java.util.HashMap$ValueIterator.next(HashMap.java:819)
at androidx.fragment.app.FragmentManager.restoreSaveState(FragmentManager.java:2472)
at androidx.fragment.app.FragmentController.restoreSaveState(FragmentController.java:196)
at androidx.fragment.app.FragmentActivity.onCreate(FragmentActivity.java:287)
at androidx.appcompat.app.AppCompatActivity.onCreate(AppCompatActivity.java:106)
解决方案
根据这个问题:
b/145832397使这个错误成为不可能。
1.3.0-alpha01
根据发行说明,该修复程序已在 Fragment中发布。
因此,您应该升级到 Fragment 1.3.0(目前仍处于 alpha 阶段)。如果您不能这样做,该错误还提到:
此代码路径仅在您在保存状态后添加保留片段时运行(即,使用
commitAllowingStateLoss()
orcommitNowAllowingStateLoss()
)。你应该避免这样做。
推荐阅读
- performance - 使用 xlwings 快速写入 xlsm
- amazon-web-services - aws s3 存储桶获取推荐人策略:strict-origin-when-cross-origin
- xsl-fo - 使用 Apache FOP 强制条件页数
- sql - MS SQL 到 SQLite 语法
- ffmpeg - hls的多个字幕
- cdn - 内容交付与虚拟服务器
- json - 从路由器“获取” - 如何在 .then .catch 中将“res.status(400).json('在此处输入失败消息')”作为错误处理?
- php - 在数据库中的一列上使用多个条件查询,laravel
- python - 如何从天和小时转换为小时?
- rust - 取消引用 Box 时是否会泄漏内存?