android Service

本文详细解析了Android Service的运行机制,包括其生命周期管理、不同启动方式的区别及注意事项。同时介绍了如何利用IntentService创建独立线程处理任务,以避免在主线程执行耗时操作。

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

android中服务是运行在后台的东西,级别与activity差不多。既然说service是运行在后台的服务,那么它就是不可见的,没有界面的东西。你可以启动一个服务Service来播放音乐,或者记录你地理信息位置的改变,或者启动一个服务来运行并一直监听某种动作。


重点在于理解Service的生命周期,启动,绑定,处理连接(正常连接or异常连接,重载ServiceConnection的OnServiceConnected和OnServiceDisconnected),停止。

对于不同的方式(startService和bindService)启动Service有不同的生命周期。

context.startService() ->onCreate()- >onStart()->Service running--调用context.stopService() ->onDestroy()

context.bindService()->onCreate()->onBind()->Service running--调用>onUnbind() -> onDestroy()

直接使用Service有两个不足:

不专门启动一条单独线程,与应用程序在同一线程中;

不是一个新线程,不应该处理耗时的操作。


由此引出了IntentService,继承自Service,

会创建单独的worker线程处理intent请求;

会创建单独的worker线程处理OnHandleIntent()方法实现代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值