问题描述
在我的应用中,我使用的是 androidX 生物识别支持库 1.1.0。在所有 Android 版本上,我的应用程序都崩溃了。这是我使用的代码片段
异常:
java.lang.IllegalStateException: 必须从片段宿主的主线程调用
在:
<body>
<div class="container-fluid">
<div class="row">
<div class="uiBox" data-search-type="category/tree" class="col-xs-4">
<ul class="categories">
<li class="category-001">
<a href="/listing" title="Text" class="text"></a>
</li>
</ul>
</div>
<div class="container1 col-xs-2"></div>
<div class="container1 col-xs-2"></div>
<div class="container1 col-xs-2"></div>
<div class="container1 col-xs-2"></div>
<div class="container1 col-xs-2"></div>
</div>
</div>
</body>
解决方法
我已将代码移至 UI 线程
const list = [
{ name: 'script1',id:'1' },{ name: 'script2',id:'2' },{ name: 'script3',id:'3' }
];
const users = [
{ name: 'user1',scripts:[ { name: 'script1',id:'1' } ] },{ name: 'user2',id:'2' } ] }
];
const TOTAL = users.length;
const usage = users.reduce((scriptUsagesMap,{ scripts=[] }) => {
scripts.forEach(({ id }) => {
const count = scriptUsagesMap.get(id) || 0;
scriptUsagesMap.set(id,count + 1);
});
return scriptUsagesMap;
},new Map);
const result = list
.filter(({ id }) => usage.get(id) !== TOTAL)
.map(({ name }) => ({ name }));
console.log(result);