gpt4 book ai didi

java - 从启动画面启动一个 Activity ,我应该使用 run() 还是 runOnUiThread()?

转载 作者:行者123 更新时间:2023-11-29 08:00:04 25 4
gpt4 key购买 nike

我有一个启动画面( Logo Activity ),用于在应用启动前显示公司名称 3 秒。我从一个线程启动 Main Activity,这里是代码:

public class Logo extends Activity {

Thread t;
public boolean dead = false;

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.logo);

t = new Thread() {
public void run() {
try {
Intent i = new Intent(Logo.this, Main.class);
Thread.sleep(3000);
if (!dead) {
startActivity(i);
}
finish();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
t.start();
}

Main Activity 是从工作线程调用的,这对吗?此代码(使用 runOnUiThread)有何不同?

...
if (!dead) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent i = new Intent(Logo.this, Main.class);
startActivity(i);
}
});
}
...

我在 Debug模式下看不出这段代码有什么不同(相同的线程、相同的操作等)。哪个是正确的?

最佳答案

开始一个 Intent 我认为不是 UI 操作。 runOnUI 线程在 UI 线程上运行 UI 操作。因此,您可以使用任一线程(runOnUI 或正常)。在这种情况下,普通线程可能会很好。但我建议您改用计时器。

关于java - 从启动画面启动一个 Activity ,我应该使用 run() 还是 runOnUiThread()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14937415/

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