登录

去注册

登录

注册

去登录

注册

解锁回答区域

  • 扫码关注公众号
  • 发送“我爱安卓

若你登陆,将永久解锁;
若未登录,仅本机解锁。

解锁回答区域

每日一问 Activity 都重建了,你 Fragment凭什么活着?

xiaoyang   2019-12-23 23:19   收藏

在上一问,我们问了:

假设我这个 Activity 内部有一个异步线程正在下载东西,并不支持暂停恢复,断开就需要重新下载,但是 Activity 本身支持横竖屏切换显示。

在 Activity 旋转重建的前提下,如果让这个异步线程继续下载,不会受到牵连呢?

有同学回答使用:

Fragment.setRetainInstance(true)

好了,那么问题来了:

  1. 设置了setRetainInstance的 Fragment,当 Activity 发生旋转重建时,Fragment 对象会发生变化吗?
  2. 如果不会,Activity 都销毁重建了,Fragment 怎么活下来的?
  3. 如果活下来,那么肯定脱离于 Activity 存储在某个声明生命周期更长的对象中,具体的源码是如何实现的?

删除留言

确认删除留言,会导致相关评论丢失?

取消 确定