安卓四大组件(安卓四大组件有哪些)

2年前 (2024-04-23)

安卓四大组件(安卓四大组件有哪些)

Android应用程序四大组件分别是什么?各个组件所起到的作用是什么

1、活动

(1)一个活动通常是一个单独的屏幕(窗口)。

(2)活动通过意图相互交流。

(Android应用中的每一个活动都必须在AndroidManifest.xml配置文件中声明,否则系统不会识别或执行该活动。

2、服务

(1)服务用于在后成用户指定的操作。有两种类型的服务:

(a)已启动:当应用组件(如activity)调用startService()方法启动服务时,服务处于已启动状态。

(b)绑定:当应用组件调用bindService()方法绑定服务时,服务被绑定。

(2)2)startService()和bindService()的区别:

(a)启动的服务由调用startService()方法的其他组件启动,这导致服务的onStartCommand()方法被调用。当服务启动时,它的生周期独立于启动它的组件,并且它可以在后台无限期地运行,即使启动该服务的组件已经被销毁。所以服务完成任务后需要调用stopSelf()方法停止,或者其他组件调用stopService()方法停止。

(b)使用bindService()方法来启用该服务。调用者和服务被绑定在一起。一旦呼叫者退出,服务将被终止,其特点是“无需同时活,无需同时死”。

(3)开发者需要在应用配置文件中声明所有服务并使用标签。

android里四大组件之一

onCreate和onStart不同

我们可以通过从客户端调用Context.startService(Intent)方法来启动服务。如果这个服务还没有运行,Android将启动它,并在onCreate方法之后调用它的onStart方法。如果这个服务已经在运行,它的onStart方法将被新的Intent再次调用。因此,一个正在运行的服务被重复调用onStart方法是完全可能的,也是正常的。

不需要OnResume、onPause和onStop。

对服务的回调通常没有用户界面,所以我们不需要onPause、onResume或onStop方法。每当服务运行时,它总是在后台运行。

绑定服务

如果客户端需要与服务的持久连接,他可以调用Context.bindService方法。如果服务不运行该方法,它将通过调用onCreate方法而不是onStart方法来启动服务。相反,onBind方被客户端的Intent调用,它返回一个IBind对象,以便客户端以后调用这个服务。同一服务同时被客户端启动和绑定是正常的。

销毁服务

像Activity一样,当服务终止时,将调用onDestroy方法。当没有客户端启动或绑定服务时,Android将终止服务。与许多活动一样,Android可能会在内存不足时终止服务。如果出现这种情况,Android也可能在内存足够的情况下尝试启动终止的服务,所以你的服务必须持久化重启的信息,最好在onStart方法中完成。