Shai对我的previuos问题Codename One - Avoid screen size change on Android on app startup的评论向我提出了这个新问题:
在哪些情况下,睡眠很好?我会使用TestUtils.waitFor()
而不冒被杀的风险。
例如,如果我已经显示了一个Form并且我想要显示它至少半秒,那么我在显示下一个Form之前插入一个睡眠,是否可以?
我的意思是:
startForm.addShowListener(e -> {
startForm.setTransitionOutAnimator(CommonTransitions.createFade(1000));
TestUtils.waitFor(500);
nextForm.show();
});
startForm.show();
答案 0 :(得分:1)
等待是聪明的,因为它睡了&#34;正确&#34;在EDT上不像<input type="file" id="uploadImage" name="termek_file" class="file_input" multiple/>
<div id="result" class="uploadPreview">
等:
Thread.sleep()
但是,如果你在其中一个问题中调用睡眠&#34;生命周期方法你可能会冒险。例如。 init / start / constructor等必须完成,否则本机操作系统线程假定应用程序没有启动。对于由OS调用的stop方法也是如此,其中期望在非常短的时间内完成。
除此之外,我们主要隐藏本机操作系统线程的复杂性,因此一个尊重EDT的睡眠版本应该&#34;工作。我能想到的一个例外是浏览器导航回调,它明确地暴露了本机OS线程。