Fragment的生命周期
2015-08-04 16:41
441 查看
学会了用Fragment创建小栗子后,来学习一下Fragment的生命周期。
主要的三个:onCreate()、onCreateView()、onPause()
首先:onCreateView()是用来创建一个布局的生命周期函数。
以上一篇为例,AnotherFragment中重写onCreate()、onCreateView()、onPause()
在其中添加输出语句
1、点击“呈现另一个Fragment”按钮后,
控制台输出:
onCreate
onCreateView
先执行创建,再执行创建界面
2、点后退键
控制台输出:
onPause
会停止。
但是其生命周期函数还会继续执行onDestory()、onDetach()最后这个Fragment会完全destroy
重写onDestroy,添加一个输出语句。执行上面的1.2.步骤。
控制台输出:
onCreate
onCreateView
onPause
onDestroy
会发现,执行了onDestroy,至此,这个fragment会完全销毁掉。
那么:
如果有第二个fragment把第一个fragment完全覆盖掉的话,第一个fragment会不会执行onDestroy呢?
在PlaceholderFragment中重写onPause()、onDestory(),并输出“a onPause” "a onDestory" 执行上面的1。2步骤
控制台输出:
a onPause
onCreate
onCreateView
点击后退,控制台输出:
onPause
onDestroy
a只执行了a onPause,自始至终都没有执行a onDestory ,再重写a的onDestroyView,再次执行,
控制台输出:
a onPause
a onDestroyView
onCreate
onCreateView
点击后退,控制台输出:
onPause
onDestroy
意味着:a被替换掉之后,a的view已经被释放掉了,只有在回来之后,才会呈现到之前的那个view,会把这个view重新创建。
如果后退到桌面
控制台输出:
a onPause
a onDestroyView
a onDestroy
主要的三个:onCreate()、onCreateView()、onPause()
首先:onCreateView()是用来创建一个布局的生命周期函数。
以上一篇为例,AnotherFragment中重写onCreate()、onCreateView()、onPause()
在其中添加输出语句
1、点击“呈现另一个Fragment”按钮后,
控制台输出:
onCreate
onCreateView
先执行创建,再执行创建界面
2、点后退键
控制台输出:
onPause
会停止。
但是其生命周期函数还会继续执行onDestory()、onDetach()最后这个Fragment会完全destroy
重写onDestroy,添加一个输出语句。执行上面的1.2.步骤。
控制台输出:
onCreate
onCreateView
onPause
onDestroy
会发现,执行了onDestroy,至此,这个fragment会完全销毁掉。
那么:
如果有第二个fragment把第一个fragment完全覆盖掉的话,第一个fragment会不会执行onDestroy呢?
在PlaceholderFragment中重写onPause()、onDestory(),并输出“a onPause” "a onDestory" 执行上面的1。2步骤
控制台输出:
a onPause
onCreate
onCreateView
点击后退,控制台输出:
onPause
onDestroy
a只执行了a onPause,自始至终都没有执行a onDestory ,再重写a的onDestroyView,再次执行,
控制台输出:
a onPause
a onDestroyView
onCreate
onCreateView
点击后退,控制台输出:
onPause
onDestroy
意味着:a被替换掉之后,a的view已经被释放掉了,只有在回来之后,才会呈现到之前的那个view,会把这个view重新创建。
如果后退到桌面
控制台输出:
a onPause
a onDestroyView
a onDestroy
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories