保持在暂停状态的活动 - Android
问题描述:
我有一个应用程序与3选项卡每个选项卡一个活动。当我在前两个活动之间切换时,要进入后台的活动通过onPause()
状态,而新活动变为活动状态,并调用onResume()
。这很好,因为这两个活动都有一个复杂的用户界面并呈现它们需要2-3秒,但是当它们保留在暂停状态时,它们会很快恢复。保持在暂停状态的活动 - Android
但是,当我点击第三个选项卡,然后应用程序的行为是不同的,活动,这是去背景,是完全破坏(它通过onPause()
,onStop()
和onDestroy()
)。
任何想法为什么有差异的行为?当用户切换到应用程序中的其他活动时,是否有办法强制活动保持暂停状态?
感谢 斯登
答
此行为甚至可以在另一个设备或任何其他上下文(不同数量的可用内存等)上有所不同。
你必须保证当Activity
会前景
onPause()
被称为当Activity
会的背景下,
-
onResume()
叫,
,这是唯一的保证你有。 (有关Activity
生命周期here的更多详细信息)。
因此,您可以绝对不要假设电话onStop()
和onDestroy()
。他们可能会被调用或不是每次你从一个标签切换到另一个时,你的应用程序需要能够处理这个。
答
为什么第一个活动被破坏可能因缺乏堆内存引起的原因。如果Android的内存不足,它会杀死后台活动。这种行为不受开发人员的影响,因为如果没有足够的内存来保持事情发展,整个系统会变慢并崩溃。
有用,至少可以说 –