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   }
时间: 2024-10-18 20:59:09

fragment使用(二)的相关文章

Android Fragment使用(二) 嵌套Fragments (Nested Fragments) 的使用及常见错误

嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment.使用时, 主要要依靠宿主Fragment的 getChildFragmentManager() 来获取FragmentManger.虽然看起来和在activity中添加fragment差不多, 但因为fragment生命周期及管理恢复模式不同, 其中有一些需要特别注意的地方.本文内容还包括了从Fragment迁移到v4.Fragment代码中需要改

Android系列之Fragment(二)Fragment的生命周期和返回栈

Android系列之Fragment(二)Fragment的生命周期和返回栈 - Android - 次元立方网 - 电脑知识与技术互动交流平台 [正文] 上一章节中(Android系列之Fragment(一)----Fragment加载到Activity当中),我们对Fragment的生命周期进行了简单介绍,这一章节将对生命周期和返回栈进行详细介绍. 一.Fragment的生命周期初探: 因为Fragment必须嵌入在Acitivity中使用,所以Fragment的生命周期和它所在的Activ

Android Fragment解析(二)

上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API. 本篇将介绍上篇博客提到的:如何管理Fragment回退栈,Fragment如何与Activity交互,Fragment与Activity交互的最佳实践,没有视图的Fragment的用处,使用Fragment创建对话框,如何与ActionBar,MenuItem集成等~~ 1.管理Fragment回退栈 类似与Android系统为Activity维护一个任务栈,我们也可以通过Activity维护一个回退栈来保存每次Fr

Android系列之Fragment(二)----Fragment的生命周期和返回栈

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3983234.html 联系方式:[email protected] [正文] 上一章节中(Android系列之Fragment(一)----Fragment加载到Activity当中),我们对Fragment的生命周期进行了简单介绍,这一章节将对生命周期和返回栈进行详细介绍. 一.Fragmen

Android - Fragment(二)加载Fragment

Fragment加载方法 加载方法有两种,在xml文件中注册,或者是在Java代码中加载. xml中注册 例如在fragment_demo.xml中定义 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width=

Android Api Component---翻译Fragment组件(二)

我们接着上一篇翻译吧Android Api Component---翻译Fragment组件(一) 与activity通信 尽管一个Fragment独立于一个Activity作为一个对象被实现并且在多个activity中被使用,给定的fragment实例绑定到了包含它的那个activity中. 特别的是,这个fragment使用getActivity()可以访问activity实例并且容易的执行像在activity布局中查找一个视图的任务: View listView = getActivity

Android Toolbar使用及Fragment中的Toolbar处理

Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法.并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为ActionBar使用时需要注意的事项. 使用support library的Toolbar Android的ActionBar每个版本都会做一些改变, 所以原生的ActionBar在不同的系统上看起来可能会不一样.使用support library版本的Toolbar可以让你的应用在多种设备类型上保

Android百日程序: Fragment动态管理和生命期

之前写过Fragment使用的程序,Fragment可以静态,也可以动态载入内存中的,这一章进一步看看如何动态地更换Fragment和看看Fragment生命期都有什么函数. 本章利用响应菜单点击事件,轮流载入不同的Fragment,显示不同的界面,效果如下: 开始的是没有载入Fragmen为空白: 点击菜单的NEXT FRAGMENT VIEW,就进入下一个界面,载入两个: 继续点击显示Fragment 1: 继续点击,显示Fragment2: 然后就是循环了: 如此循环显示不同画面. 一 首

Android系列之Fragment(一)----Fragment加载到Activity当中

Android系列之Fragment(一)----Fragment加载到Activity当中 ?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3978989.html 联系方式:[email protected] [正文] Android上的界面展示都是通过Activity实现的,Activity实在是太常用了.但是Activity也有它的局限性

Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理

Toolbar作为ActionBar使用介绍 本文介绍了在Android中将Toolbar作为ActionBar使用的方法. 并且介绍了在Fragment和嵌套Fragment中使用Toolbar作为ActionBar使用时需要注意的事项. 使用support library的Toolbar Android的ActionBar每个版本都会做一些改变, 所以原生的ActionBar在不同的系统上看起来可能会不一样. 使用support library版本的Toolbar可以让你的应用在多种设备类型