gpt4 book ai didi

java - 在 Android 中降低 GUI 的速度

转载 作者:行者123 更新时间:2023-11-29 06:24:44 25 4
gpt4 key购买 nike

我的 Android 应用程序运行良好,但结束序列除外。这是一场比赛,最后屏幕显示得分:

TextView allscores = new TextView(this);

allscores.setText("Your score: "+ mypoints);

接下来,我希望 GUI 减速几秒钟,以便用户有时间接收信息。也许 2 或 3 秒就可以了。

try {
Thread.sleep(3000);

} catch (InterruptedException e) {

e.printStackTrace();
}

layout.removeAllViews();

请记住,我是线程编程的新手。所有这些都是在 UI 线程上完成的,我没有运行其他线程。接下来我放入一个最终的启动画面结尾:

AnView animator = new AnView(this);

layout.addView(animator);

其中 AnView 是我自己的 View 扩展。

总而言之,它运行良好。问题是线程 hibernate 了 3 秒而没有显示我的最终分数。我不知道为什么。我不知道为什么它不显示我 sleep 前的最终分数。它实际上变成了空白,表明它删除了所有 View 然后 hibernate 了。

最佳答案

您看不到分数是因为在 UI 线程上 hibernate 会阻止使文本更改可见的布局和绘图操作。永远不要在 UI 线程上 hibernate 。

为此使用新线程是多余的。使用 Handler 和 postDelayed 方法让事情在延迟后发生。

private final Handler mHandler = new Handler();

然后当你想稍后做某事时,

mHandler.postDelayed(new Runnable() {
public void run() {
doDelayedThing();
}
}, 3000);

关于java - 在 Android 中降低 GUI 的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4483650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com