当前位置: 首页 > wzjs >正文

北京网站优化外包公司排名软件下载

北京网站优化外包公司,排名软件下载,常德网站建设设计,国外设计Android 中 Activity 和 Fragment 的区别 Activity 和 Fragment 是 Android 应用开发中两个核心组件,它们在应用架构中扮演不同角色,以下是它们的主要区别: 1. 基本概念 特性ActivityFragment定义代表应用中的一个独立屏幕代表 Activity 中…

Android 中 Activity 和 Fragment 的区别

Activity 和 Fragment 是 Android 应用开发中两个核心组件,它们在应用架构中扮演不同角色,以下是它们的主要区别:

1. 基本概念

特性ActivityFragment
定义代表应用中的一个独立屏幕代表 Activity 中的一部分 UI 或行为
生命周期独立生命周期依附于宿主 Activity 的生命周期
入口点需要在 AndroidManifest.xml 中声明不需要在清单文件中声明

2. 生命周期对比

Activity 生命周期
onCreate()onStart()onResume()onPause()onStop()onDestroy()

Fragment 生命周期(额外包含与 Activity 交互的方法):
onAttach()onCreate()onCreateView()onActivityCreated()onStart()onResume()onPause()onStop()onDestroyView()onDestroy()onDetach()

3. 主要功能差异

功能ActivityFragment
UI 管理管理完整窗口管理部分 UI
导航通过 Intent 启动通过 FragmentTransaction 管理
回退栈自动管理需要手动添加到回退栈
复用性复用性较低高复用性,可在不同 Activity 中使用
多窗口支持可作为独立窗口必须依附于 Activity
任务和返回栈参与应用任务栈不直接参与

4. 使用场景

适合使用 Activity 的情况

  • 应用的主要入口点
  • 需要独立窗口的场景(如全屏播放)
  • 需要处理系统级交互(权限请求、Intent 过滤等)

适合使用 Fragment 的情况

  • 模块化 UI 组件(如 ViewPager 的页面)
  • 适应不同屏幕尺寸(平板/手机不同布局)
  • 需要动态替换的 UI 部分
  • 共享 UI 组件(多个 Activity 共用的界面部分)

5. 通信方式

Activity 通信

  • 通过 startActivity()Intent
  • 使用 startActivityForResult()(已弃用,推荐 Activity Result API)

Fragment 通信

  • 通过宿主 Activity(使用接口回调)
  • ViewModel(推荐方式)
  • Fragment 结果 API(setFragmentResult()

6. 代码示例对比

Activity 示例

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// Activity 逻辑代码}
}

Fragment 示例

public class MyFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// 膨胀 Fragment 的布局return inflater.inflate(R.layout.fragment_my, container, false);}@Overridepublic void onViewCreated(@NonNull View view, Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);// Fragment 逻辑代码}
}

7. 最佳实践建议

  1. 单 Activity 多 Fragment 架构(推荐):

    • 使用 Navigation 组件管理 Fragment
    • Activity 作为容器,Fragment 处理具体界面
  2. 避免 Fragment 直接通信

    • 通过 ViewModel 或 Activity 中介通信
  3. 正确处理生命周期

    • Fragment 的生命周期比 Activity 更复杂,需特别注意
  4. 平板适配

    • 使用 Fragment 可以轻松实现不同屏幕尺寸的布局适配
http://www.dtcms.com/wzjs/10239.html

相关文章:

  • 搜索小程序网站seo诊断分析和优化方案
  • 郑州市做网站的公百度快照入口
  • dede企业网站带留言板后台查询百度收录时间
  • 党务政务建设新闻网站外贸网站推广方法之一
  • 网络规划设计师一本通seo工作前景如何
  • 四川住建委官网首页苏州seo优化
  • 做团建活动网站宁波seo推广优化公司
  • 做公司网站利润北京全网营销推广
  • 网站建设致谢百度云盘网页版
  • 成华区微信网站建aso优化
  • 企业模板网站建设优势分析简述影响关键词优化的因素
  • 宁波企业网站建站在百度平台如何做营销
  • 做网站攻略百度云官网
  • wordpress头条主题手机seo百度点击软件
  • 美做天然居家居网站发新闻稿平台
  • asp网站源码破解百度指数的网址是什么
  • 自己如何免费制作一个网站10常用的网络营销方法
  • 东莞建设网站企业佛山快速排名seo
  • 百度js转wordpress网站权重优化
  • 医院网站必须建设吗搜索引擎优化的办法有哪些
  • 把做的网站放到互联网上网站推广方式
  • 成都电子商务网站建设公司seo营销网站的设计标准
  • 上海兼职网站制作b2b电子商务平台
  • 网络推广和运营的区别搜索引擎优化技术都有哪些
  • 我想找一个电销外包团队搜索引擎优化网站
  • 公司网站建设价位郑州免费做网站
  • 上海有名的广告设计公司百度刷排名优化软件
  • 武汉高端做网站防城港网站seo
  • 怎样在凡科免费做网站宁德市蕉城区
  • 请问门户网站是什么意思网上教育培训机构