活动结束后线程是否会死?

时间:2013-04-29 03:11:37

标签: java android android-handler

如果我启动后台线程,如果在线程终止之前从finish()开始的活动会发生什么。线程是否会终止,还是会保持活力?

 new Thread(new Runnable() {
                public void run() {
                    while (mProgressStatus > 0) {


                        // Update the progress bar
                        mHandler.post(new Runnable() {
                            public void run() {
                                progressbar.setProgress(mProgressStatus);
                            }
                        });
                    }
                }
            }).start();

2 个答案:

答案 0 :(得分:1)

线程独立于父母运行。线程在从Thread.run()正常返回JVM或由于未捕获的异常返回时死亡。

答案 1 :(得分:-2)

根据你所知,你的线程/应用程序可以在任何时候死亡,电话崩溃到地面,电池关闭,你知道的最后一件事就是电话以最快的方式关闭。

Android生命周期及其管理变得复杂且没有真正的答案,因为在谷歌评论这类事情时,他们非常喜欢“自动化”这个词,所以他们肯定不会泄露任何关于此的内部细节,至少不是“普通老英语”。

有第一个关于Android的Google IO会谈到这些内容,如果您想了解更多有关此内容的详细信息,可以在youtube上重新搜索有关Android生命周期的Google IO谈话。

无论如何请记住,Android绝对不会给你的应用程序的生存时间和持续时间,你至少要考虑变量:OS(Android)正在做什么以及用户正在做什么,以及当用户提供涉及Android需要处理的应用程序生命周期的输入时,有两件事情甚至可以混合在一起。