android 片段,Android – 保留片段?

嗨,我有一个关于重新创建Activity时保留片段的问题.

我听说有一种方法是在onCreate方法中使用setRetainFragment(true).

问题是 – 这与跟踪Activity中的私有Fragment属性有什么不同,这样我在整个活动的生命周期中总是拥有相同的Fragment对象?谢谢!

解决方法:

setRetainInstance(true):片段的状态将在配置更改(例如屏幕旋转)之间保留(而不是销毁!).国家将是

即使配置更改导致“父”活动被销毁,也会保留.但是,片段的视图被破坏了!

生命周期电话:

onPause() -> onStop() -> onDestroyView() -> onDetach()

onAttach() -> onCreateView() -> onStart() -> onResume()

setRetainInstance(false):不会在配置更改中保留Fragment的状态(默认值).

生命周期电话:

onPause() -> onStop() -> onDestroyView() -> onDestroy() -> onDetach()

onAttach() -> onCreate() -> onCreateView() -> onStart() -> onResume()

重要说明:setRetainInstance(true)不适用于后端堆栈上的片段. setRetainInstance(true)对于长时间运行的操作特别有用

内部碎片不关心配置更改.

标签:android,android-activity,lifecycle,fragment

来源: https://codeday.me/bug/20190627/1306479.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值