7

如果我启动一个后台线程,如果在线程终止之前从完成()开始的活动会发生什么。线程也会终止还是会保持活动状态?

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

2 回答 2

2

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

于 2013-04-29T03:54:30.497 回答
-2

就您所知,您的线程/应用程序可能会在任何时候、任何时间死机,手机会摔倒在地并且电池已关闭,而您知道的最后一件事是它以最快的方式关闭了手机。

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

有第一个关于 Android 的 Google IO 讨论了这个东西,如果你想了解更多细节,你可以返回 youtube 并搜索关于 Android 生命周期的 Google IO 讨论。

无论如何,请记住,Android 绝对不会让您知道您的应用程序的生存时间和时间,而且您至少需要考虑一些变量:操作系统 (Android) 正在做什么以及用户正在做什么,这两件事可以当用户提供涉及 Android 需要处理的应用程序生命周期的输入时,甚至可以混合在一起。

于 2013-04-29T03:23:01.593 回答