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

网站制作多少钱公司少儿编程

网站制作多少钱公司,少儿编程,综合门户型网站有哪些,大学生帮别人做网站文章目录 Android开发四大组件1. Activity(活动)2. Service(服务)3. BroadcastReceiver(广播接收器)4. ContentProvider(内容提供者)共同特点 Activity 生命周期详解完整的生命周期方…

文章目录

  • Android开发四大组件
    • 1. Activity(活动)
    • 2. Service(服务)
    • 3. BroadcastReceiver(广播接收器)
    • 4. ContentProvider(内容提供者)
    • 共同特点
  • Activity 生命周期详解
    • 完整的生命周期方法
    • 特殊情况生命周期方法
    • 生命周期图示
    • 常见场景的生命周期变化
  • Intent的setFlags(int flags)方法详解
    • 常用标志(Flags)分类
      • 1. 任务栈控制标志
        • FLAG_ACTIVITY_NEW_TASK (0x10000000)
        • FLAG_ACTIVITY_CLEAR_TASK (0x00008000)
        • FLAG_ACTIVITY_CLEAR_TOP (0x04000000)
      • 2. Activity 实例管理标志
        • FLAG_ACTIVITY_SINGLE_TOP (0x20000000)
        • FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS (0x00800000)
      • 3. 任务栈历史管理标志
        • FLAG_ACTIVITY_NO_HISTORY (0x40000000)
        • FLAG_ACTIVITY_REORDER_TO_FRONT (0x00020000)
      • 4. 其他常用标志
        • FLAG_ACTIVITY_NO_ANIMATION (0x00010000)
        • FLAG_ACTIVITY_MULTIPLE_TASK (0x08000000)
    • 组合使用示例
    • 注意事项

Android开发四大组件

在这里插入图片描述

Android四大组件是Android应用开发的基础架构,包括:

1. Activity(活动)

  • 作用:用户交互界面
  • 特点
    • 提供可视化用户界面
    • 一个应用通常由多个Activity组成
    • 通过Intent进行跳转
  • 生命周期:onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()

2. Service(服务)

  • 作用:后台运行组件
  • 特点
    • 无用户界面
    • 可用于长时间运行操作(如下载、播放音乐)
    • 分为启动状态和绑定状态
  • 类型
    • Started Service(启动服务)
    • Bound Service(绑定服务)

3. BroadcastReceiver(广播接收器)

  • 作用:接收系统或应用广播消息
  • 特点
    • 用于响应系统级事件(如电量低、网络变化)
    • 可以静态注册(Manifest)或动态注册(代码)
    • 通过IntentFilter指定接收的广播类型

4. ContentProvider(内容提供者)

  • 作用:数据共享组件
  • 特点
    • 管理结构化数据共享
    • 提供统一接口访问数据
    • 通过URI标识数据
    • 常用于应用间数据共享

共同特点

  • 都需要在AndroidManifest.xml中声明
  • 都可以通过Intent进行激活或通信
  • 都有各自的生命周期

这些组件构成了Android应用的基本框架,开发者通过组合使用这些组件来构建功能丰富的应用程序。

在这里插入图片描述

Activity 生命周期详解

Activity 生命周期是 Android 开发中最重要的概念之一,它描述了 Activity 从创建到销毁的整个过程。理解生命周期对于正确处理资源管理、数据保存和用户体验至关重要。

完整的生命周期方法

  1. onCreate()

    • Activity 首次创建时调用
    • 必须实现的方法,用于初始化基本组件
    • 应该在此处调用 setContentView() 设置布局
    • 接收 savedInstanceState 参数(可能为 null)
  2. onStart()

    • Activity 变为可见状态时调用
    • 此时 Activity 还未出现在前台,不能与用户交互
    • 适合初始化需要在 Activity 可见时运行的组件
  3. onResume()

    • Activity 进入前台并可与用户交互时调用
    • 在此方法中恢复动画、摄像头等独占资源
    • 应用的核心功能通常在此状态下运行
  4. onPause()

    • 当 Activity 开始失去焦点时调用
    • 另一个 Activity 即将进入前台(如对话框或新 Activity)
    • 应该在此保存持久性数据,停止动画等消耗资源操作
    • 注意:不能执行耗时操作,否则会影响新 Activity 的显示
  5. onStop()

    • Activity 完全不可见时调用
    • 新 Activity 已完全覆盖当前 Activity
    • 释放不需要在 Activity 不可见时使用的资源
  6. onDestroy()

    • Activity 被销毁前调用
    • 可能是用户主动关闭或系统为回收内存
    • 清理所有资源,避免内存泄漏
  7. onRestart()

    • Activity 从停止状态重新启动时调用
    • onStop() 后且 Activity 再次显示前调用

特殊情况生命周期方法

  1. onSaveInstanceState(Bundle outState)

    • 在 Activity 可能被销毁前调用(如屏幕旋转)
    • 用于保存临时状态到 Bundle 对象
    • 数据会在 onCreate()onRestoreInstanceState() 中恢复
  2. onRestoreInstanceState(Bundle savedInstanceState)

    • onStart() 之后调用
    • 恢复之前通过 onSaveInstanceState() 保存的状态

生命周期图示

启动Activity → onCreate() → onStart() → onResume() → Activity运行中↑       ↓ onPause() ←       ↓ onStop() ←|       → onRestart() → onStart()└─────── onDestroy()

常见场景的生命周期变化

  1. 正常启动和退出

    • onCreate() → onStart() → onResume()
    • onPause() → onStop() → onDestroy()
  2. 按下Home键

    • onPause() → onStop()
  3. 从后台返回

    • onRestart() → onStart() → onResume()
  4. 屏幕旋转

    • onPause() → onSaveInstanceState() → onStop() → onDestroy()
    • onCreate() → onStart() → onRestoreInstanceState() → onResume()

理解并正确管理 Activity 生命周期是开发稳定、高效 Android 应用的基础。
在这里插入图片描述

Intent的setFlags(int flags)方法详解

Intent.setFlags(int flags) 是 Android 中用于控制 Activity 启动行为的重要方法,它通过设置各种标志(flags)来影响 Activity 的任务栈(Task)和启动模式。

常用标志(Flags)分类

1. 任务栈控制标志

FLAG_ACTIVITY_NEW_TASK (0x10000000)
  • 作用:在新任务中启动 Activity
  • 使用场景
    • 从 Service 或 BroadcastReceiver 启动 Activity 时必须使用
    • 创建独立的任务栈
  • 注意:如果已有该 Activity 的实例存在,会将该实例带到前台
FLAG_ACTIVITY_CLEAR_TASK (0x00008000)
  • 作用:清除现有任务栈中的所有 Activity
  • 配合使用:通常与 FLAG_ACTIVITY_NEW_TASK 一起使用
  • 效果:新 Activity 将成为任务栈中唯一的 Activity
FLAG_ACTIVITY_CLEAR_TOP (0x04000000)
  • 作用:如果目标 Activity 已在栈中,则清除它上面的所有 Activity
  • 行为
    • 如果目标 Activity 在栈顶:直接使用现有实例
    • 如果目标 Activity 在栈中但不在栈顶:销毁它上面的所有 Activity
  • 常见用途:返回应用主界面

2. Activity 实例管理标志

FLAG_ACTIVITY_SINGLE_TOP (0x20000000)
  • 作用:相当于 launchMode=“singleTop”
  • 行为:如果目标 Activity 已在栈顶,则不会创建新实例,而是调用其 onNewIntent()
  • 使用场景:防止重复创建相同的 Activity(如通知点击)
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS (0x00800000)
  • 作用:Activity 不会出现在最近任务列表中
  • 使用场景:敏感页面或临时页面

3. 任务栈历史管理标志

FLAG_ACTIVITY_NO_HISTORY (0x40000000)
  • 作用:Activity 不会保留在任务栈中
  • 行为:用户离开后,该 Activity 会被立即销毁
  • 使用场景:临时中间页面(如登录页面)
FLAG_ACTIVITY_REORDER_TO_FRONT (0x00020000)
  • 作用:如果 Activity 已在任务栈中,则将其移到栈顶而不创建新实例
  • 行为:调用现有实例的 onNewIntent()
  • 使用场景:重新激活已存在的 Activity

4. 其他常用标志

FLAG_ACTIVITY_NO_ANIMATION (0x00010000)
  • 作用:禁用 Activity 切换动画
  • 使用场景:需要无动画过渡时
FLAG_ACTIVITY_MULTIPLE_TASK (0x08000000)
  • 作用:总是创建新任务,即使已有相同任务存在
  • 配合使用:必须与 FLAG_ACTIVITY_NEW_TASK 一起使用

组合使用示例

// 示例1:清除整个任务栈并启动新的主Activity
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);// 示例2:单例模式启动Activity(如果已存在则调到前台)
Intent intent = new Intent(this, DetailActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);// 示例3:防止重复创建相同的Activity(类似singleTop)
Intent intent = new Intent(this, NotificationActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

注意事项

  1. 标志可以通过 | 运算符组合使用
  2. 某些标志需要特定组合才能生效(如 FLAG_ACTIVITY_NEW_TASK)
  3. 这些标志会覆盖 Manifest 中设置的 launchMode
  4. 在 Android 5.0+ 中,任务栈行为有部分变化,需注意兼容性
  5. 过度使用标志可能导致任务栈管理混乱,应谨慎使用

理解这些标志对于控制应用导航流程和任务栈行为非常重要,合理使用可以创建更符合预期的用户体验。


在这里插入图片描述

http://www.dtcms.com/wzjs/332874.html

相关文章:

  • 1688网站店招怎么做杭州百度快照
  • 网站开发团队取什么名字好网站功能开发
  • 有没有接做网站私活的平台国内外十大免费crm软件推荐
  • 越秀网站建设优化百度一下你就知道官网
  • 全屋定制怎么样做网站网络整合营销4i原则
  • 贵州华瑞网站建设有限公司国家市场监管总局官网
  • 晋江网站设计泉州名扬专业怎么注册网址
  • wordpress用户登录页面seo怎么赚钱
  • 网站轮播图的按钮怎么做的百度贴吧网页版入口
  • 新浪做网站企业宣传ppt
  • 郑州做网站的联系方式关键词营销推广
  • 360网站页面的工具栏怎么做济南网络营销外包
  • 加强服务保障满足群众急需i 网站seo软件
  • 上海市企业登记网络服务平台南宁百度seo排名优化
  • 动图在线制作网站seo收费标准多少
  • vps怎么做多个网站推蛙网络
  • 网站策划建设方案书营销软文200字
  • 监控器材网站建设深圳网页设计公司
  • 深圳网站建设公司模板推广的公司
  • 网站推荐界面学生个人网页设计模板
  • 做一个公司网站流程 由ui设计优化网络培训
  • 网站建设运维情况自查报告亚马逊查关键词搜索量的工具
  • vps一定要Wordpress吗宝鸡seo优化
  • 搭建b2c网站seo项目优化案例分析文档
  • 用dw制作购物网站首页网址查询网站
  • 跨境商城网站制作关键词排名工具
  • 没有备案的网站怎么访问百度热度
  • wordpress 首页定制外链seo
  • 做一个自己的免费网站天津seo结算
  • 丹阳网站建设交友网站有哪些