发布网友 发布时间:2022-04-23 00:18
共4个回答
热心网友 时间:2023-09-15 12:45
核心应用是系统运行的支持软件,如果意外停止,您可以重启手机。
Android应用程序没有唯一的启动入口(如C语言中的main()函数入口),一个Android应用程序是由多个不同的组件组合而成,组件之间通过Intent来实现通信。
Android系统的基本组件包括Activity,Service, BroadcastReceiver和ContentProvider等,此外还包括专门负责在基本组件之间传递消息的Intent组件。所有组件都必须在AndroidManifest.xml文件中声明。
一、Activity —— 应用表示层( 基类 Activity )
一个活动表示一个可视化的用户界面,关注一个用户从事的事件。例如,一个活动可能表示一个用户可选择的菜单项列表,或者可能显示照片连同它的标题。一个文本短信应用程序可能有一个活动,显示联系人的名单发送信息;第二个活动,写信息给选定的联系人;其他活动,重新查看旧信息或更改设置。虽然他们一起工作形成一个整体的用户界面,但是每个活动是于其他活动的。每一个都是作为Activity基类的一个子类的实现。
应用程序中的每个屏幕都是通过继承和扩展基类 Activity 来实现的。
同一应用中的每个 Activity 是相互的。程序启动后显示的第一幅画面是应用程序的第一个 Activity (默认窗口),而后可以根据需要从这个 Activity 启动另一个新的 Activity 。
Activity 利用 View 来实现应用中的 GUI (用户直接通过 GUI 和应用程序做交互)。 Activity 窗口内的可见内容通过基类 View 提供。使用 Activity.setContentView() 方法设置当前 Activity 中的 View 对象。
二、Service —— 没有可见的用户界面,但能够长时间运行于后台( 基类 Service )
一个服务没有一个可视化用户界面,而是在后台无期限地运行。例如一个服务可能是播放背景音乐而用户做其他一些事情,或者它可能从网络扩取数据,或计算一些东西并提供结果给需要的活动(activities)。每个服务都继承自Service基类。
运行于应用程序进程的主线程中,因此 Service 不会阻塞其他组件和用户界面。
Service 是不能自己启动的,必须通过 Context 对象(如一个 Activity )调用 startService 或 bindService 方法来启动(用这两种方法启动的 Service 的生命周期不同)。
三、Broadcast Receiver —— 用户接收广播通知的组件( 基类 BroadcastReceiver )
一个广播接收者是这样一个组件,它不做什么事,仅是接受广播公告并作出相应的反应。许多广播源自于系统代码,例如公告时区的改变、电池电量低、已采取图片、用户改变了语言偏好。应用程序也可以发起广播,例如为了他其他程序知道某些数据已经下载到设备且他们可以使用这些数据。一个应用程序可以有任意数量的广播接收者去反应任何它认为重要的公告。所有的接受者继承自BroadcastReceiver基类。
Android 中的广播要么来自于系统,要么来自普通应用程序。
很多事件都可能导致系统广播,如手机所在时区发生变化,电池电量低,用户改变系统语言设置等。
四、Content Provider 为解决应用程序间数据通信、共享的问题(基类 ContentProvider )
内容提供者(content provider)使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。内容提供者继承自ContentProvider 基类并实现了一个标准的方法集,使得其他应用程序可以检索和存储数据。然而,应用程序并不直接调用这些方法。相反,替代的是它们使用一个ContentResolver对象并调用它的方法。ContentResolver能与任何内容提供者通信,它与提供者合作来管理参与进来的进程间的通信。
在 Android 中,每个应用程序都是用自己的用户 ID 并在自己的进程中运行。这样的好处是,可以有效地保护系统及应用程序,避免被其他不正常德应用程序所影响,每个进程都拥有的进程地址空间和虚拟空间。
一旦需要以上 4 种 Android 应用程序基本组件完成请求, Android 会首先确认该组件所在进程是否运行,如果没有运行, Android 将先启动进程,同时确认被请求组件的实例是否存在,否则将创建一个新的组件实例。
五、Intent —— 连接组件的纽带
以上 4 种基本组件中,除了 Content Provider 是通过 Content Resolver 激活外,其他 3 种组件 Activity 、 Service 和 Broadcast Receiver 都是由 Intent 异步消息激活的。
热心网友 时间:2023-09-15 12:45
这是一个用于调用硬件核心功能的关键进程,手机的应用用于调用联系人,将联系人信息提供给需要调用的进程。同样道理,电视的应用用于调用条件接收系统,将条件接收信息提供给需要调用的进程,实现加密广播电视节目的收看。平板电脑由于没有像上面两种设备那样的突出功能,系统中一般没有这个组件。
热心网友 时间:2023-09-15 12:45
个人感觉 启动器
热心网友 时间:2023-09-15 12:46
说明白点