重温Android和Fragment生命周期

重温下Android和Fragment生命周期,理解生命周期方法的作用,什么时候调用,可以做一些什么操作。

1、Android生命周期

1.1 生命周期图

1.2 生命周期函数说明

  • onCreate:Activity正在创建,生命周期的第一个方法,需要setContentView加载layout。这里不建议耗时操作,只做layout和控件初始化。此方法传递一个 Bundle 对象,可以获取上一个Activity 的状态。
  • onStart:Activity正在启动,此时Activity已处于可见状态,只是还没有在前台显示,因此无法与用户进行交互,这里也可以初始化控件,但官方推荐在onCreate进行。如果 Activity 转入前台,则后接 onResume,如果 Activity 转入隐藏状态,则后接 onStop。
  • onResume:Activity已在前台可见,可以跟用户进行交互,并且该Activity处于堆栈的顶层,可在此初始化一些资源,后接onPause方法。
  • onPause:跳转到其他activity时调用,此方法中可以做一些数据存储或者动画停止或者资源回收的操作,但不能太耗时,因为android中指定onPause在500ms內没有执行完毕的话就会强制关闭Activity。如果Activity返回前台,则后接onResume,如果Activity转入对用户不可见状态,则后接onStop。
  • onStop:表示Activity即将停止或者完全被覆盖,此时Activity不可见,仅在后台运行,也就是还在内存中,还没有被销毁,可以做一下非耗时操作。如果Activity恢复与用户的交互,则后接onRestart,如果Activity被销毁,则后接onDestroy
  • onRestart:Activity在这时可见,当用户按Home键切换到桌面后又切回来或者从后一个Activity切回前一个Activity就会触发这个方法在,始终后接onStart。
  • onDestory:在Activity被销毁前调用,activity结束(调用finish)或者系统内存不够需销毁activity时调用,可以根据isFinishing()方法区分这两种情形。可做回收工作和最终的资源释放。

    2、Fragment生命周期

    2.1 生命周期图

    2.2 生命周期函数说明

    fragment被创建的时候,经历包含onAttach、onCreate、onCreateView、onActivityCreated方法;fragment对用户可见的时候,经历包含onStart、onResume方法;fragment进入“后台模式”的时候,经历onPause、onStop方法;fragment被销毁了(或者持有它的activity被销毁了),经历包含onPause、onStop、onDestroyView、onDestroy、onDetach方法;并且可用onCreate、onCreateView、onActivityCreated方法Bundle对象保存一个fragment的对象。

  • onAttach:当Fragment与Activity发生关联时调用
  • onCreate:创建Fragment时被回调,经历暂停或停止状态继而恢复后,想保留Fragment的基本组件,则在此进行初始化。
  • onCreateView:首次绘制页面时候调用,在此可以创建View,也可以返回null,这样不建议耗时操作。
  • onActivityCreated:Fragment绑定Activity,在onCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,不能在此之前跟Activity进行交互。
  • onStart:启动 Fragment 时被回调,此时Fragment可见,只是还没有在前台显示,因此无法与用户进行交互
  • onResume:Fragment在前台可见,处于活动状态,用户可与之交互
  • onPause:Fragment处于暂停状态,但依然可见,用户不能与之交互
  • onStop:停止Fragment回调,Fragment完全不可见
  • onDestoryView:销毁与Fragment有关的视图,但未与Activity解除绑定
  • onDestory:销毁 Fragment 时被回调,通常按Back键退出或者Fragment被回收时调用此方法,此后接onDetach
  • onDetach:与onAttach相对应,当Fragment与Activity关联被取消时调用
  • setUserVisibleHint:调用次方法可以设置Fragment可见或者不可见。可以调用getUserVisibleHint()获得Fragment的可见或不可见状态,如果可见则进行懒加载操作

原文地址:https://www.cnblogs.com/fomin/p/11443454.html

时间: 2024-10-03 23:52:57

重温Android和Fragment生命周期的相关文章

Android Activity Fragment 生命周期

从开源项目中看到 这个,就不由自主的收藏了~ https://github.com/xxv/android-lifecycle Android Activity Fragment 生命周期

Android之fragment生命周期解析

上篇讲到了Fragment的基础应用,现在给大家演示一下Fragment的生命周期是什么样子的.关于Fragemnt的基础应用,请见http://blog.csdn.net/jiapeng2b/article/details/46919859. 一.首先,我们先看一下Fragment的生命周期 跟Activity生命周期的对比 Activity直接影响它所包含的fragment的生命周期,所以对activity的某个生命周期方法的调用也会产生对fragment相同方法的调用.例如:当activi

Android之——Fragment生命周期(日志截图版)

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46867159 版权声明:本文为博主原创文章,未经博主允许不得转载.

Android Activity生命周期以及Fragment生命周期的区别与分析

Android Fragment生命周期图: Activity生命周期图: 对照图: Fragment生命周期分析: 1. 当一个fragment被创建的时候,它会经历以下状态. onAttach() onCreate() onCreateView() onActivityCreated() 2. 当这个fragment对用户可见的时候,它会经历以下状态. onStart() onResume() 3. 当这个fragment进入“后台模式”的时候,它会经历以下状态. onPause() onS

Android之Activity,Fragment生命周期探知

Android之Activity,Fragment生命周期探知 - [email protected] - 博客频道 - CSDN.NET 根据官方文档,本人手画了一下Activity和Fragment的整个生命周期执行顺序图: Activity生命周期执行顺序图: Fragment生命周期执行顺序图: ? 一个Activity在它的整个生命周期里面分三个状态,分别是活动周期,可见周期,以及生命周期. 一个Fragment是依附于Activity之上,它的整个生命周期里面也分三个状态,分别是活动

Android开发之Activity和Fragment生命周期对比图

一.Activity 生命周期 二.Fragment 生命周期 三.对比图 四.测试代码 [java] view plaincopy package com.goso.testapp; import android.app.Activity; import android.app.ListFragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import a

【Android开发】之Fragment生命周期

上一篇博客我们讲到了,Fragment的基本使用,相信大家都已经了解怎么去使用了.如果还有不懂得同学可以去看一下,传送门.现在我们来讲解一下Fragment的生命周期. 一.Fragment的事务 再讲Fragment的生命周期之前,一定要讲一下FragmentTransaction也就是fragment的事务,这对我们理解生命周期有很重要的作用. 那么什么是事务?根据用户的交互情况,对fragment进行添加(add).移除(remove).替换(replace),以及执行其他动作,提交给ac

Android之Fragment学习笔记②(Fragment生命周期)

一. Fragment生命周期图                                  二.Fragment生命周期方法介绍 Fragment的生命周期和activity生命周期很像,其生命周期方法如下所示. onAttach: 绑定到activity(Fragment和Activity建立关联的时候调用). onCreate: 创建fragment onCreateView:  创建fragment的布局(为Fragment加载布局时调用). onActivityCreated: 

Fragment生命周期及其使用

Fragment是随着Android 3.0推出时携带的一部分,若是在1.6版本中使用,必须引入相应的支持包.Fragment最大的优点是你可以根据不同设备的屏幕大小创建动态的UI.Fragment有以下几个特点. 每个Fragment是个独立的模块 与其所在的Activity紧密的联系在一起 多个Activity可以共用一个Activity 1.Fragment生命周期. 首先来看下Fragment的生命周期,Fragment的生命周期和他所在的Activity的生命周期紧密联系在一起.因此看