zoukankan      html  css  js  c++  java
  • fragment生命周期及优点

    fragment生命周期
    切换到该Fragment
    onAttach—> onCreate-> onCreateView—> onActivityCreated-> onStart-> onResume
    切换到其他Fragment:
    onPause-> onStop-> onDestroyView
    切换回本身的Fragment:
    onCreateView-> onActivityCreated-> onStart-> onResume
    显示Fragment时(跟用户交互)要调用的核心的生命周期方法如下:
    1. 把Fragment对象跟Activity关联时,调用onAttach(Activity)方法;
    2. Fragment对象的初始创建时,调用onCreate(Bundle)方法;
    3. onCreateView(LayoutInflater, ViewGroup, Bundle)方法用于创建和返回跟Fragment关联的View对象;
    4. onActivityCreate(Bundle)方法会告诉Fragment对象,它所依附的Activity对象已经完成了Activity.onCreate()方法的执行;
    5. onStart()方法会让Fragment对象显示给用户(在包含该Fragment对象的Activity被启动后);
    6. onResume()会让Fragment对象跟用户交互(在包含该Fragment对象的Activity被启恢复后)。
    7、onDestroyView()方法用于清除跟Fragment中的View对象关联的资源;
    8、Fragment对象的状态被最终清理完成之后,要调用onDestroy()方法;

    Fragment优点:
    Fragment可以使你能够将activity分离成多个可重用的组件,每个都有它自己的生命周期和UI。
    Fragment可以轻松得创建动态灵活的UI设计,可以适应于不同的屏幕尺寸。从手机到平板电脑。
    Fragment是一个独立的模块,紧紧地与activity绑定在一起。可以运行中动态地移除、加入、交换等。
    Fragment提供一个新的方式让你在不同的安卓设备上统一你的UI。
    Fragment 解决Activity间的切换不流畅,轻量切换。
    Fragment 替代TabActivity做导航,性能更好。
    Fragment 在4.2.版本中新增嵌套fragment使用方法,能够生成更好的界面效果。
    Fragment做局部内容更新更方便,原来为了到达这一点要把多个布局放到一个activity里面,现在可以用多Fragment来代替,只有在需要的时候才加载Fragment,提高性能。
    可以从startActivityForResult中接收到返回结果,但是View不能。

  • 相关阅读:
    Java多线程-ThreadLocal和InheritableThreadLocal的使用
    Java多线程-join的使用
    VsCode配置让 ts 文件自动编译为 js文件
    npm和yarn更改依赖包全局下载和缓存路径
    npm和yarn更改淘宝镜像
    Java多线程-管道流实现线程间通信
    Java多线程-生产者/消费者模式实现
    Java多线程-使用 wait / notify 实现线程间的通信
    Java多线程-volatile关键字
    Java多线程-synchronized(非this对象)
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138741.html
Copyright © 2011-2022 走看看