Android中Service实例及其相关知识(1)

本文详细介绍了Android中Service的概念、生命周期,并通过实例解析了Service的创建、启动、停止及绑定过程,强调了Service的onCreate()只会被调用一次,startService()与bindService()的区别以及如何在不同场景下正确使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

详细博客https://www.cnblogs.com/codingblock/p/4842224.html

1.概念:service是长期服务于activity的后台服务

2.生命周期:(service的生命周期跟它的两种启动方式)

2.1:启动方式是 startService
Service的生命周期:onCreate() --> onStartcommand() -> onDestroy()
停止服务:stopService()

2.2:启动方式是 bindService
Service的生命周期 onCreate() --> onBind() --> onUnBind() --> onDestroy()
停止服务:UnbindService()再StopService()

区别:使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。而且使用bindService是可以操作和Service传递数据的

一个原则是Service的onCreate的方法只会被调用一次,就是你无论多少次的startService又bindService,Service只被创建一次。如果先是bind了,那么start的时候就直接运行Service的onStartcommand方法,如果先是start,那么bind的时候就直接运行onBind方法。

3.一个例子弄清Service的创建以及启动

因为android发展到现阶段,需要前端写本地service的项目越来越少,那么讲了那么多理论,下面我们通过具体代码来弄清楚Service的创建以及启动:

3.1:创建一个Service

3.1.1 继承Service,创建Service子类。
3.1.2 在AndroidManifest.xml文件中配置该Service。

下面创建一个最基本的Service组件:
MyService.java

public class MyService extends Service {
    
    //必须实现的方法,用户返回Binder对象
    @Override
    public IBinder onBind(Intent intent) {
        System.out.println("--onBind()--");
        return null;
    }
    
    //创建Service时调用该方法&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值