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

Jak*_*ake 6 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();
Run Code Online (Sandbox Code Playgroud)

小智 -2

据您所知,您的线程/应用程序可能会在任何时候、任何时间死亡,手机摔在地上,电池电量耗尽,您知道的最后一件事就是手机以最快的方式关闭。

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

第一个关于 Android 的 Google IO 讨论了这些内容,如果您想了解更多详细信息,您可以返回 YouTube 并搜索有关 Android 生命周期的 Google IO 讨论。

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