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

片段活动中的commitAllowingStateLoss()

赏育
2023-03-14

有什么理由不不分青红皂白地这样做而不重新评估我使用片段的每个单独的情况吗?

共有1个答案

公孙弘图
2023-03-14

如果我理解正确,你的意思是:有什么理由不不分青红皂白地这样做而不重新评估我使用片段的每个单独的情况吗?

答案是肯定的--如果不仔细重新评估使用片段的每个单独情况,就不应该这样做。

当然,通过防止由于配置更改(屏幕旋转)而重新启动,您已经消除了一个关键问题:即用户可以在调用onsaveInstanceState之后但在commitallowingStateLoss之前旋转屏幕。在这种情况下,UI的一个片段或部分可能会丢失。关于这一点的非正式讨论,请参见此帖子。

如果您有任何更新活动UI的无头片段,那么它们的一些更新可能会丢失(请参见本文)。

Android可能会“杀死”一个片段,因为Phone/Tab的资源不足(请参见此答案)。

当然,如果阻止了屏幕旋转,则不能调用OnSaveInstancEstate,在这种情况下,丢失更新的机会窗口会增加。

 类似资料:
  • 我这么问的原因是因为我多年来一直在专门使用活动,Facebook SDK和Google Maps 2.0迫使我使用片段,现在我想知道与其他实现相比,它们是否本质上“更好”。 如果这个“不具建设性”或“过于开放”,那么答案显然是“不”。但是如果有一些谷歌开发者的文档或博客关于这个确切的主题,那么我想知道它

  • 我是Android开发的新手,我在将firebase auth从SignInActivity传递到HomeFragment上有一个问题。代码是这样的 公共类SignInActivity扩展AppCompatActivity } 这是HomeFragment片段 公共类HomeFragment扩展Fragment{ } 这是logcat 致命异常:主进程:clouwiko.dev.prasiku,P

  • 在为手机和平板电脑设计时,在应用程序中使用片段而不是活动的是什么? 我们是不是应该有手机的活动和平板电脑的碎片。除了使之外,手机的碎片还有什么好处吗? android开发网站http://developer.android.com/guide/components/fragments.html在电话上说,这些片段被分成那么使用这些片段有什么意义呢?

  • 我想在收到一些HTTP请求的响应后,更新几个<code>片段 。-- 活动 适配器 碎片样本 日志显示位置0,1处的片段的<code>updateData</code>工作良好。但是对于位置2处的片段,它会导致错误。 我发现的区别是适配器没有为位置2调用,这意味着没有调用的。因此不存在。 我的直觉告诉我,问题一定来自适配器的工作流或fragmentManager事务。但是作为一个Android初学

  • 我在处理活动和碎片时遇到了一些麻烦。我正处于应用程序开发的早期阶段,最终希望设计一种最有效的方法来整合两个独立的屏幕。 每种方法的好处是什么?你会选择哪种设计?

  • 亲活性 这意味着,onActivityResult()将在作为该子片段的父片段的片段内部调用refresh。作为连锁反应,refreshDeliveryFragment()将调用这两个子片段中的一个子片段来刷新它们的recyclerview数据。