zoukankan      html  css  js  c++  java
  • Android 四大组件

    Activity

    一个Activity通常是一个界面,是四大组件唯一能被用户感知的

    每个活动被实现为一个独立的类,从活动基类继承过来

    Activity之间通过 Intent 进行通信

    需要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity

    生命周期

    image-20210311184321373

    启动模式

    Standard 每次都新建一个实例

    SingleTop 如果栈顶没有实例,就新建实例

    SingleTask 每次都复用栈内的实例,并把在它之前的所有activity顶出去,重新回到栈顶

    SingleInstance 只有一个实例,用另外一个栈来保存这个实例对象

    Service

    service(服务)是一种可以在后台执行长时间运行操作而没有用户界面的应用组件。

    服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。

    但是当该应用程序进程被杀死的时候,service也会销毁

    启动状态

    当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。一旦启动,服务即可在后台运行,即使启动服务的组件已被销毁也不受影响,除非手动调用才能停止服务, 已启动的服务通常是执行单一操作,而且不会将结果返回给调用方。

    绑定状态

    当应用组件通过调用 bindService() 绑定到服务时,服务即处于“绑定”状态。绑定服务提供了一个客户端-服务器接口,允许组件与服务进行交互、发送请求、获取结果,甚至是利用进程间通信 (IPC) 跨进程执行这些操作。 仅当与另一个应用组件绑定时,绑定服务才会运行。 多个组件可以同时绑定到该服务,但全部取消绑定后,该服务即会被销毁。

    生命周期

    image-20210311185210974

    BroadcastReceiver

    一种广泛运用在应用程序之间传输信息的机制,通过发送Intent来传送我们的数据

    内部通信实现机制:通过android系统的Binder机制.

    分为 无序广播 和 有序广播

    广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册。

    ContentProvider

    android四大组件之一的内容提供器,它主要的作用就是将程序的内部的数据和外部进行共享,为数据提供外部访问接口,被访问的数据主要以数据库的形式存在,而且还可以选择共享哪一部分的数据,可以通过ContentResolver类从该内容提供者中获取或存入数据。。

    参考

    https://juejin.cn/post/6844903977100771335#heading-33

  • 相关阅读:
    自我理解:const char*, char const* and char *const
    获取任意控件的ID或窗口句柄
    Webmax 2.0开启无限量下载
    dotLucene搜索加入中文分词
    SQL SERVER获得指定表的主键
    LogExplore应用(ms sql server事物分析、数据恢复工具)[转载]
    电脑病之一
    查找数据库中记录数大于N的表
    视图
    获取生日提醒数据
  • 原文地址:https://www.cnblogs.com/lukelmouse/p/14519937.html
Copyright © 2011-2022 走看看