在网上找到的所有代码示例中,它看起来像:
pending.setResultCallback(new ResultCallback<ContainerHolder>() {
@Override
public void onResult(ContainerHolder containerHolder) {
...
startMainActivity();
}
}, 2, TimeUnit.SECONDS);
没有任何关于startMainActivity()的解释。 顾名思义,它似乎开始了一项新活动。 开始一项新活动是最佳实践吗? 或者可以从此处更新当前活动。
我相信如果您更新相同的活动可能会出现问题,因为回调不同步,并且如果您对事务进行分段,则可能会导致状态丢失。 现在,我们的代码库没有启动新的活动,所以我想知道是否应该重写它。
那么问题又来了: 启动一项新活动是最佳实践吗?
在此处启动主要活动的唯一原因是,在调用onResult之前,容器尚未加载或可用。 在onResult中启动主要活动是确保用户或应用本身不会启动任何可能需要在加载容器之前访问该容器的操作的简单方法。 根据您的应用逻辑,可能还有其他方法。