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

时间:2011-01-07 19:24:32

标签: android

我一直在试图弄清楚当我的应用程序暂停时(当按下“主页”按钮时)停止所有线程,而我无法理解它。

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

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

我错过了什么吗?这通常是怎么做的?

1 个答案:

答案 0 :(得分:2)

这是一个非常好的迹象表明您的设计存在缺陷。你不应该有无法解决的线程,或者你自己没有完成的线程。

  

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

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

  每次都会调用它们   单击列表中的项目

这就是这些事件的工作方式。一旦您的活动不再可见(即您的新活动就在前面),它会转到onPause()和onStop()。你必须考虑到这一点。你不能打它,或解决它。