读书笔记--Activity的生命周期、加载模式,以及Fragment
来源:互联网 发布:字体识别软件app 编辑:程序博客网 时间:2024/05/24 05:45
启动Activity时,依次调用onCreate、onStart和onResume方法
当Activity有部分内容可见时,仅调用它的onPause方法 (如在该Activity中启动另一个不全屏的Activity)
关闭这个不全屏的Activity后,调用onResume方法
当下滑通知栏时,不启动onPause方法
全都不可见时,调用onPause和onStop方法
切回来后,依次调用onRestart、onStart和onResume方法
调用finish()方法结束该Activity后,依次调用onPause、onStop和onDestory方法
配置Activity时可以指定android:launchMode属性,用于配置加载模式
standard: 标准模式,每次启动都会创建一个新的实例,并被添加到当前Task中
singleTop: Task顶部单例模式,如果被启动的Activity在Task栈顶,将直接复用已有的Activity,否则同standard模式
singleTask: Task内部单例模式,如果在Task内存在Activity但不在栈顶,将把位于其上的所有Activity移出Task,然后复用该Activity,否则同singleTop模式
singleInstance: 全局单例模式,如果Activity已经存在,无论位于哪个应用程序中,无论位于哪个Task中,系统都会把该Activity所在的Task转到前台,从而使用该Activity。注意,使用该模式加载的Activity总是位于Task的栈顶,该Task只包含该Activity
Android采用Task来管理多个Activity,可以调用Activity的getTaskId()来获取它所在的Task的ID。Task可以被理解为Activity的栈,先启动的Activity放在栈底,后启动的放在栈顶
Fragment必须被“嵌入”Activity中使用,它的生命周期受该Activity的生命周期所控制,通过使用Fragment,可以方便地在平板等大屏幕上,并列显示内容,同时方便地兼容在小屏幕设备上的显示
Fragment可以调用getActivity获取它所在的Activity,Activity也可以用FragmentManager的findFragmentById或findFragmentByTag来获取Fragment
Activity可调用FragmentManager的add、remove、replace来管理Fragment
一个Activity可以同时组合多个Fragment,反过来一个Fragment也可以被多个Activity复用
Fragment可以响应自己的输入事件
通常创建Fragment需要实现如下三个方法:
onCreate:创建后回调该方法,一般只初始化想要保持的必要组件
onCreateView:绘制界面时回调该方法,必须返回一个View,即所显示的View
onPause:离开时回调
将Fragment添加到Activity中有如下两种方式:
在布局文件中用<fragment.../>元素添加,其中的android:name属性指定实现类
在代码中通过FragmentTransaction对象的add方法来添加
Activity向Fragment传递数据,可以调用Fragment的setArguments( Bundle bundle )传递
Fragment向Activity传递数据,或进行实时通信时,在Fragment中定义一个内部回调接口,再让Activity实现该接口,然后Fragment调用该方法即可
Fragment的生命周期中,共有如下方法:
onAttach:被添加到Activity时被回调,只会被调用一次
onCreate:创建时被回调,只会被调用一次
onCreateView:每次创建、绘制Fragment的View组件时回调
onActivityCreated:当Fragment所在的Activity被启动完成后,回调该方法
onStart:启动Fragment时被回调
onResume:恢复Fragment时被回调
onPause:暂停
onStop:停止
onDestroyView:销毁Fragment所包含的View组件时被调用
onDestroy:销毁Fragment时被回调
onDetach:将该Fragment从Activity中删除、替换完成时,回调该方法,只会被调用一次。onDestroy后一定会回调这个方法
- 读书笔记--Activity的生命周期、加载模式,以及Fragment
- activity以及fragment的生命周期
- Android的Activity与Fragment之二 Activity的回调机制、生命周期、加载模式
- Activity和Fragment的生命周期,以及对比
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Fragment的生命周期以及与Activity生命周期联动
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Android Activity生命周期以及Fragment生命周期的区别与分析
- Activity的生命周期和加载模式
- Activity的生命周期及加载模式
- Activity的生命周期与加载模式
- Activity的生命周期以及启动模式
- Activity的生命周期--读书笔记
- Fragment的生命周期以及跟Activity之间互相传值小总结
- Fragment的生命周期以及跟Activity之间互相传值小总结
- 读书笔记--Activity的生命周期和启动模式(一)
- 读书笔记—Activity的生命周期和启动模式
- oracle 触发器临时数据
- Cocos2d3.0学习笔记-Action复杂动作
- 分享一个Openstack的社区消息获取工具
- LeetCode 231判断2的幂
- 题解: Codeforces 598A Tricky Sum (水)
- 读书笔记--Activity的生命周期、加载模式,以及Fragment
- GraphLab 资源
- 【C#学习】——方法(函数)
- 计算机技术领域当前的主流技术及其社会需求调查报告
- 对kalman滤波的理解
- You are to find all the two-word compound words in a dictionary. A two-word compound word is a word
- [Apache笔记]仅有两台主机的负载均衡设置
- Matlab数据类型转换
- AngularJS进阶(十九)在AngularJS应用中集成百度地图实现定位功能