该应用程序在同一个活动中有两个片段。Fragment A 有一个按钮然后按下该按钮将启动一个并行任务,该任务将插入或更新数据库中的大量记录。Fragment B 包含 a ViewPager
,ViewPager
正在使用FragmentStatePagerAdapter
并持有 Fragment C,每个页面都会从数据库中查询并显示一条记录。
Fragment B 将正常工作,直到按下 Fragment A 中的按钮。之后,ViewPager 中的随机页面将无法正常工作。当记录存在时,某些页面会查询空记录。而且有两种情况。
第一种情况,Fragment A 会有插入和更新操作。也就是最坏的情况,Fragment C中的某些指定记录会得到null结果,即使滑动ViewPager
重新打开指定页面,该记录仍然是null,直到Fragment A中的并行任务完成并重新打开Fragment B,然后Fragment C 又可以正常工作了。
第二种情况,Fragment A 会有插入和查询操作,没有更新操作。这种情况不会得到空结果,但是一些指定的记录会卡住,直到Fragment A中的并行任务完成。
是什么导致了这些问题?先感谢您。