Java 浓缩咖啡怠速源-如何更改怠速检查的频率

Java 浓缩咖啡怠速源-如何更改怠速检查的频率,java,android,android-espresso,Java,Android,Android Espresso,我正在显示一些加载对话框。由于不同的网络调用,它们有点闪烁,因此有时我的空闲资源会报告它现在处于空闲状态,但实际上加载对话框只是被一个网络调用取消,然后又被另一个网络调用触发。让我们看看我的资源: public class LoadingDialogIdlingResource implements IdlingResource { private final FragmentManager manager; private final String tag; priva

我正在显示一些加载对话框。由于不同的网络调用,它们有点闪烁,因此有时我的空闲资源会报告它现在处于空闲状态,但实际上加载对话框只是被一个网络调用取消,然后又被另一个网络调用触发。让我们看看我的资源:

public class LoadingDialogIdlingResource implements IdlingResource {
    private final FragmentManager manager;
    private final String tag;
    private ResourceCallback resourceCallback;

    public LoadingDialogIdlingResource(FragmentManager manager, String tag) {
        this.manager = manager;
        this.tag = tag;
    }

    @Override
    public String getName() {
        return LoadingDialogIdlingResource.class.getName() + ":" + tag;
    }

    @Override
    public boolean isIdleNow() {
      //this is being called to quickly, i want to slow it down without suspending the entire thread
        manager.executePendingTransactions();
        boolean idle = (manager.findFragmentByTag(tag) == null);
        Timber.d("check if idle:" + idle);

        if (idle) {
            resourceCallback.onTransitionToIdle();
        }
        return idle;
    }

    @Override
    public void registerIdleTransitionCallback(ResourceCallback resourceCallback) {
        this.resourceCallback = resourceCallback;
    }
}
以下是我迄今为止所尝试的:

IdlingPolicies.setIdlingResourceTimeout(45000L,TimeUnit.MICROSECONDS);

但这不是我想要的,这是系统的超时。我只想把系统检查空闲时间的频率降低一秒。因此,为了清楚起见,我正在寻找一种减缓签入isIdleNow()方法速度的方法

因为“executePendingTransaction”应该在UI线程上运行,所以在“isIdleNow”方法上放置@UiThread注释会有什么作用吗?在线程上暂停执行的“标准”方法是使用“thread.sleep(n)”,其中n是暂停的毫秒数。在生产应用程序中不应该做什么,有些人认为在测试中是可以的。对此应该有一个策略配置。