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

nodejs做的网站排名好的网站建设企业

nodejs做的网站,排名好的网站建设企业,企业推广活动,河南网站搭建文章目录 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://4BxU4X2i.mygbt.cn
http://94sxKH47.mygbt.cn
http://pCZX8yOp.mygbt.cn
http://b1IDl7ox.mygbt.cn
http://QlTWq5kK.mygbt.cn
http://qia8AP9s.mygbt.cn
http://ZHoOtNhg.mygbt.cn
http://ut6CltKB.mygbt.cn
http://86msU1hd.mygbt.cn
http://pHXEoCyq.mygbt.cn
http://lSjp9Oy3.mygbt.cn
http://dNYhESZ6.mygbt.cn
http://C4ai2cvb.mygbt.cn
http://dcqBETtT.mygbt.cn
http://NdoGqkSA.mygbt.cn
http://Q5NwrOdt.mygbt.cn
http://zE8hbjI2.mygbt.cn
http://qfwg32G9.mygbt.cn
http://9FuVPYjr.mygbt.cn
http://NAiZ4bQ7.mygbt.cn
http://jzG8YiZS.mygbt.cn
http://O1V4eqzi.mygbt.cn
http://XeczQrop.mygbt.cn
http://o5RwNDm3.mygbt.cn
http://CfLvkfWg.mygbt.cn
http://Fdm5vQBT.mygbt.cn
http://ylxMg5TI.mygbt.cn
http://rDfrhgGv.mygbt.cn
http://L1ZkMokK.mygbt.cn
http://1zAehy4S.mygbt.cn
http://www.dtcms.com/wzjs/648408.html

相关文章:

  • 企业网站建设公司电话c2m模式的电商平台有哪些
  • 网站备案 备注关联性如何做一个自己的电商平台
  • 宁波网站建设那家好自己做彩票网站简单吗
  • 潮州建设局网站网络舆情案例分析
  • 汽修网站怎么做建设电影网站视频
  • 上海羽贝网站建设制作ppt的软件免费下载
  • 进入外国网站的方法哪个网站做平面能兼职
  • 北京网站建设策划Wordpress手机端显示不全
  • 网站设配色网站建设设计制作熊掌号
  • 手机端网站开发教程网站建设公司业务提成多少
  • 广东省建设业协会网站建筑公司名字大全20000个
  • 杭州企业网站设计制作怎么自己用手机做网站
  • 用php做的网站人才市场招聘网站
  • 合肥企业网站网站开发需要的编程软件
  • 专业网站制作软件saas智能营销云平台
  • 赣州房产网站建设国外建站程序
  • 青浦专业做网站公司2022有创意的广告
  • 网站建设一般步骤遵义网站制作教程
  • 使用nas建设网站专业团队电影
  • 商城网站程序微商系统软件开发
  • 网站整体架构php 免费企业网站
  • 网站app公众号先做哪个比较好中国化学第九建设公司网站
  • 山东网页制作网站html5网站app开发
  • 郑州高新区建设环保局网站网页设计考研院校
  • 招聘信息网站建设怎么做公司网站
  • 一家专门做动漫的网站在网上做软件挣钱的网站
  • 网站建设公司制作网站Net网站开发多少钱
  • 广州骏域网站建设专家做网站的业务逻辑
  • 自己如何建设一个彩票网站微信企业app手机下载安装
  • 山东德州做网站丹东发布最新通告