在我发现的所有代码示例中,它看起来像是:
pending.setResultCallback(new ResultCallback<ContainerHolder>() {
@Override
public void onResult(ContainerHolder containerHolder) {
...
startMainActivity();
}
}, 2, TimeUnit.SECONDS);
没有解释startMainActivity()的作用。这个名字似乎开始了一项新的活动。这是开始新活动的最佳做法吗? 或者可以从这里更新当前活动。
我相信如果更新相同的活动可能会出现问题,因为回调未同步,并且如果您执行片段事务,则可能会出现状态丢失。 现在我们的代码库没有开始新的活动,所以我想知道我是否应该重写它。
再次提出问题:是开始新活动的最佳做法吗?
答案 0 :(得分:1)
此处启动主要活动的唯一原因是在调用onResult之前,容器未加载或可用。在onResult中启动主要活动是确保用户或应用程序本身在加载容器之前不启动可能需要访问容器的任何内容的简单方法。根据您的应用逻辑,可能还有其他方式。