当前位置: 首页 > 知识库问答 >
问题:

碎片在活动Get被杀死和重新创建后仍然存在

尹昂雄
2023-03-14

共有1个答案

佴涵蓄
2023-03-14

片段的生命周期与活动的生命周期相似,因此它可以被系统杀死并重新创建,以便为其他应用程序节省内存。这意味着存在保存和恢复片段状态的机制。你应该用它。

  • onsaveInstanceState中保存片段的状态
  • 还原状态-savedState包在多个方法(onCreate、onCreateView等)中提供给片段

如果无法保存片段的状态(由于其数据是动态的且不可序列化的),请尝试为非初始化状态实现一些默认行为。

 类似资料:
  • 由于不推荐使用TabActivity,我需要找到一种方法来使用片段。在我知道它如何工作之前,我已经使用了碎片,但我需要一个指南来创建我的标签主机与碎片活动。我在互联网上找到了几个例子,它们都是关于将片段放入标签的容器中的。

  • 我可以使用一个片段作为一个活动吗?我已经创建了一个片段,但我希望它有像活动一样的功能,所以我使用片段扩展碎片活动。然而,我有一个带有碎片的导航抽屉。当我更改为“扩展碎片活动”时,我的代码有问题?请给我指路。

  • 问题内容: 我正在用C / C ++ 创建子进程。 当父进程结束(或由于某种原因被杀死)时,我也希望所有子进程也被杀死。 这是系统自动完成的吗?还是我必须自己做? 谢谢。 问题答案: 否。如果父进程被杀死,则子进程将成为init进程的子进程(该进程的进程ID为1,并由内核作为第一个用户进程启动)。 初始化过程会定期检查新的子代,然后等待它们(从而释放由其返回值分配的资源)。

  • 我正在开发一个应用程序,基本上有一个行动栏。当我的应用程序启动时,活动创建片段并将它们附加到每个标签上,所以当我切换时,我会得到不同的视图。 当我试图旋转设备时,问题就出现了。经过一番挣扎,我注意到Android会像这样自动重新创建之前添加的片段:

  • 问题内容: 我遇到了一个问题,我试图为我的Laravel 4项目安装一个新软件包。但是当我跑步时我得到了: 我在Internet上寻找问题,发现内存是问题,我认为我没有足够的RAM,我检查了一下我有411mb的空闲空间。作曲家真的需要更多RAM吗? 问题答案: “已杀死”消息通常表示您的进程消耗了太多内存,因此,如果可能,您可能只需要向系统中添加更多内存即可。在编写此答案时,我必须将虚拟机的内存增

  • 在我的应用程序中,我有一个在后台(和前台)运行。 在这个中,有一个,当它完成时,我想在某个中启动应用程序并在中自动执行一些操作,即使我的应用程序被杀死或关闭,我也希望它能正常工作。 我看到了一些答案,这是其中之一,但它对我不起作用。我找到了一个更好的解决方案,并将其作为答案发布在下面,但仍然只有在应用程序关闭但未完全关闭时才有效。 如何从后台启动,即使应用程序已关闭或关闭?