Codename One - 睡觉时好吗?

时间:2017-12-20 09:19:21

标签: codenameone

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();

1 个答案:

答案 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线程。