Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何确保应用程序暂停时所有线程都暂停?_Android - Fatal编程技术网

Android 如何确保应用程序暂停时所有线程都暂停?

Android 如何确保应用程序暂停时所有线程都暂停?,android,Android,我一直在想,当我的应用程序暂停时(当按下“主页”按钮时),如何停止所有线程,但我就是想不出来 以下是我所拥有的:一个主要活动包含一个选项卡主机,每个选项卡主机都有一个列表,当单击列表中的一个项目时,将启动一个包含详细信息的新活动。每个列表都在其自己的活动中,该活动启动一个更新程序线程,以确保列表内容始终是最新的 以下是我尝试过的:我尝试过使用onPause()、onResume()、onStop()和onDestroy()事件。问题是,如果我使用包含列表的活动的主活动来监视这些事件,那么每次单击

我一直在想,当我的应用程序暂停时(当按下“主页”按钮时),如何停止所有线程,但我就是想不出来

以下是我所拥有的:一个主要活动包含一个选项卡主机,每个选项卡主机都有一个列表,当单击列表中的一个项目时,将启动一个包含详细信息的新活动。每个列表都在其自己的活动中,该活动启动一个更新程序线程,以确保列表内容始终是最新的

以下是我尝试过的:我尝试过使用onPause()、onResume()、onStop()和onDestroy()事件。问题是,如果我使用包含列表的活动的主活动来监视这些事件,那么每次单击列表中的项目时,以及实际按下“主页”按钮时,都会调用它们,因此无法区分不同的情况


我错过什么了吗?这通常是如何做到的?

这很好地表明您的设计存在缺陷。你不应该有你无法解释的或者没有完成的线程

每个列表都在其自己的活动中 启动一个更新程序线程 确保列表内容始终为空 最新的

这种事情应该在服务中完成

他们每天都会接到电话 单击列表中的项目


这就是这些事件的运作方式。一旦你的活动不再可见(即你的新活动出现在前面),它就会转到onPause()和onStop()。你必须对此负责。你不能对抗它,也不能解决它。

好的,在阅读了更多关于活动生命周期和服务的内容后,我想了几件事:1。关于使用服务和调用活动和2上的事件,您都是对的。即使我使用一项服务,当按下“主页”按钮时,我仍然看不到停止或解除绑定服务的方法。。。