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是暂停的毫秒数。在生产应用程序中不应该做什么,有些人认为在测试中是可以的。对此应该有一个策略配置。