fragment使用(二)

   上一篇讲到用fragment代替activity,做主要的界面呈现,其主要难点就是要对fragment的生命周期非常熟悉。相对于activity,fragment的最大好处,就是其非常灵活的生命周期。我们可以将界面的任务分成两部分,一部分作UI的展示,另一部分则是和UI无关的后台任务。因为这两部分生命周期是不同的。UI会随着屏幕尺寸,屏幕水平/竖直的方向变化时,生命周期需要重新进行;而非UI任务所需要的生命周期则是,只要Activity没有结束,就不要中断或者重走生命周期。

  因此,我们可以创建一个没有UI界面的Fragment。只需要在OnCreate中调用setRetainInstance(true);这个Fragment就不会跟随Activity的生命周期一起重建。同时我们要记得在onDetach方法中,将回调回收,防止activity实例的泄露。  

/**
 46    * 设置回调对象为null,防止我们意外导致Activity实例泄露(leak the Activity instance)
 47    */
 48   @Override
 49   public void onDetach() {
 50     super.onDetach();
 51     mCallbacks = null;
 52   }

 

转载于:https://www.cnblogs.com/fishbone-lsy/p/5225763.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值