【发布时间】:2013-07-15 21:48:50
【问题描述】:
当从我的活动中调用 startActivity(Intent intent) 时,总是在其上调用 onDestroy() 方法,因此我丢失了片段状态等...
我的理解是 onStop 应该被调用,而 onDestroy 可以或不能被调用。但我的经验是,原始活动总是被破坏。
我了解,如果我有一个带有 listView、适配器等的活动...Android 不会仅仅因为我在此之上推送另一个活动,就希望我调整适配器的状态,对吗?
我说的对吗?什么可能触发了这种行为?
谢谢
【问题讨论】:
-
您是直接在设备上进行测试吗?如果是这样,也许您已选中始终销毁活动的选项?
-
我正在设备中进行测试,是的。不知道那个选项!我现在就检查一下。
-
在我的 Galaxy s2 上,它的设置 > 开发者选项 > 自下而上,不要保留活动,也许你的设备上会有类似的东西。
-
你明白了!不敢相信我花了 1:30 试图解决这个问题。如果您回答问题,我会将其标记为已为您选中。此外,由于活动仍有可能被破坏,因此仍然保存状态(适配器的内容等)是一种好习惯吗?或者“破坏”很可能不会发生,担心这是没有意义的?非常感谢!
-
如果您的数据对用户体验至关重要,那么我总是会保存状态,但它需要在付出多少努力和您对用户造成多少损失之间进行权衡。您不知道他们正在运行什么,因此您不知道他们的操作系统是否需要您的应用占用的资源。
标签: android