如果我启动后台线程,如果在线程终止之前从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();
答案 0 :(得分:1)
线程独立于父母运行。线程在从Thread.run()正常返回JVM或由于未捕获的异常返回时死亡。
答案 1 :(得分:-2)
根据你所知,你的线程/应用程序可以在任何时候死亡,电话崩溃到地面,电池关闭,你知道的最后一件事就是电话以最快的方式关闭。
Android生命周期及其管理变得复杂且没有真正的答案,因为在谷歌评论这类事情时,他们非常喜欢“自动化”这个词,所以他们肯定不会泄露任何关于此的内部细节,至少不是“普通老英语”。
有第一个关于Android的Google IO会谈到这些内容,如果您想了解更多有关此内容的详细信息,可以在youtube上重新搜索有关Android生命周期的Google IO谈话。
无论如何请记住,Android绝对不会给你的应用程序的生存时间和持续时间,你至少要考虑变量:OS(Android)正在做什么以及用户正在做什么,以及当用户提供涉及Android需要处理的应用程序生命周期的输入时,有两件事情甚至可以混合在一起。