
Android题集四大组件之Activity
Launcher进程启动 主Activity。 系统准备启动需要的进程。 我们通过handler触发主线程,调用Activity.onCreate(),onStart(),onResume()。 数据初始化完成,显示Activity内容。
发布日期:2021-05-14 19:19:17
浏览次数:21
分类:精选文章
本文共 1359 字,大约阅读时间需要 4 分钟。
Android Activity和Fragment的核心生命周期与开发技巧
Activity的生命周期概述
Activity在Android系统中的生命周期分为多个阶段,关键方法分别为:
- onCreate():第一次创建Activity时调用,在此初始化操作完成。
- onStart():Activity由不可见转为可见时调用。
- onResume():准备好与用户交互,处于运行状态。
- onPause():转移至其他活动前调用。
- onStop():完全不可见时调用。
- onDestroy():Activity销毁时调用。
- onRestart():重新启动时调用。
Activity在transition时的生命周期回调依赖于启动模式:
- 标准模式:每次启动新实例。
- 栈顶复用模式:复用当前栈顶活动实例。
- 栈内复用模式:在当前栈中重用或创建新实例。
- 单例模式:创建独立栈的实例。
Fragment生命周期
Fragment的生命周期包括:
- onAttach():与Activity建立关联。
- onCreate():创建Fragment实例。
- onCreateView():生成视图。
- onActivityCreated():与Activity创建完成。
- onStart():Fragment成为可见的。
- onResume():准备与用户交互。
- onPause():退出就焦点时调用。
- onStop():失去可见性。
- onDestroyView():移除Fragment视图。
- onDestroy():销毁Fragment实例。
- onDetach():与Activity解离。
Fragment与Activity的区别
相同点:
- 数据存储与生命周期管理。
不同点:
- Fragment可动态添加,支持嵌套,切换流畅自然。
- Activity切换通常伴随页面跳转,用户体验较差。
Fragment的管理方法
常用方法及区别:
- add():替换当前片段,不删减历史记录。
- replace():替换后绝恢复焦点,避免重复数据加载。
- hide()与show():控制可见性,优化切换效果。
FragmentManager与SupportFragmentManager的区别:
- FragmentManager:用于Activity的基本管理。
- SupportFragmentManager:提供Fragment事务支持,可嵌套使用。
FragmentPagerAdapter与FragmentStatePagerAdapter
两者都继承自PagerAdapter:
- FragmentPagerAdapter:
- Fragment持久存在,适合静态数据。
- 内存占用固定。
- FragmentStatePagerAdapter:
- 只保存当前Fragment,资源高效回收。
- 适合动态数据和多Fragment场景。
运行流程示意图
通过优化去掉重复内容,保持本源信息的同时,让内容更优化,更符合技术写作风格。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年04月30日 16时38分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
2021-05-09
【Flink】Flink 底层RPC框架分析
2021-05-09
MySQL错误日志(Error Log)
2021-05-09
解决:angularjs radio默认选中失效问题
2021-05-09
windows环境下安装zookeeper(仅本地使用)
2021-05-09
缓冲区溢出实例(一)--Windows
2021-05-09
Python中字符串前添加r ,b, u, f前缀的含义
2021-05-09
Hadoop学习笔记—Yarn
2021-05-09
JSONPath小试牛刀之Snack3
2021-05-09
Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
2021-05-09
wxWidgets源码分析(3) - 消息映射表
2021-05-09
wxWidgets源码分析(5) - 窗口管理
2021-05-09
wxWidgets源码分析(7) - 窗口尺寸
2021-05-09
wxWidgets源码分析(8) - MVC架构
2021-05-09
wxWidgets源码分析(9) - wxString
2021-05-09
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2021-05-09
[梁山好汉说IT] 梁山好汉和抢劫银行
2021-05-09
[源码解析] 消息队列 Kombu 之 基本架构
2021-05-09
[源码分析] 消息队列 Kombu 之 启动过程
2021-05-09