哪个是在android中使用Run方法的最佳方法?

时间:2012-07-07 17:21:40

标签: java android oop

我很困惑使用Run方法

第一个

new Thread(new Runnable() {
@Override
public void run() {
switch case //Here
}
}).start();

第二个

Switch(id){
case :
    new Thread(new Runnable() {
    @Override
    public void run() {

    }
    }).start();

break
}

哪一个最适合在程序中使用。

5 个答案:

答案 0 :(得分:2)

这取决于你想要做什么。当你向某个帖子发帖时,它会在将来的某个时间运行。

在第一种情况下,在线程运行之前,switch case语句不会运行。

在第二种情况下,除非你的case语句为真,否则你的线程不会运行。

他们只是不同的逻辑流程,我不确定哪一个可以被认为是“更好”。

答案 1 :(得分:0)

我的变化不大(如果每个案例都有一个break语句,至少)。

在每个解决方案中,只有一个switch语句将在新线程中执行。使用您认为最具可读性的内容。

在交换机的每种情况下重复线程创建代码会添加更多的样板代码。另一方面,如果你有一个默认情况下不必做任何事情,那就不值得创建和启动一个新线程来做什么。

答案 2 :(得分:0)

第二种情况是最好的,因为只有当你的情况条件为真时线程才会运行,并且它不会对你的应用程序内存产生太大影响。

Android应用程序中的线程太多会影响内存。

答案 3 :(得分:0)

试试这个......

1. Run是Runnable接口中唯一存在的方法,必须在实现Runnable的类中实现。

2. 现在,在您的代码中,您正在使用实现Runnable接口的Anonymous类。

3。在您的第一个示例中,您的线程必须运行以使switch案例执行。

4. 在您的第二个示例中,必须执行您的switch case,特殊情况才能让线程运行。

答案 4 :(得分:0)

上述两个之间有什么区别?

第一个问题:线程运行,但案例下的编程逻辑可能会也可能不会根据案例运行。

第二个问题: 如果&只有当大小写为真时,线程才会运行。

很明显,这两种情况完全不同。

你会使用哪一个?

它取决于您的要求,使用您需要的逻辑。它完全取决于你。