Android--本地Service

本文介绍了Android中的Service,包括其定义、特点和两类Service——本地LocalService和远程RemoteService。重点讲述了如何启动和停止服务,以及使用bindService()和unbindService()进行绑定启动时的注意事项,强调了解绑服务以防止内存泄漏的重要性。最后,概述了不同启动方式下Service的生命周期变化。
摘要由CSDN通过智能技术生成

Service

Service是什么?
1,Service是一个应用程序组件,它用来后台完成一个 时间跨度比较大 的工作且 没有任何关联界面

2,service可以完成下面这些工作:
访问网络
播放音乐
文件IO操作
大数据的数据库操作

3,服务的特点:

  • service在后台运行,不能与用户进行交互
  • 即使应用退出,服务也不会停止
  • 在默认情况下,service运行在应用程序的主线程中,如果需要service处理一些网络连接等耗时操作,那么应该将这些任务放在分线程中处理,避免阻塞用户界面

(总结下上面的:“服务”也就是说,当你关闭的应用时(不是清理进程),你的activity是死掉的,但是你的服务(不是绑定启动)还在后台运行。如果绑定启动的话,就是随activity一起死去。)

Service的分类:

1,本地服务LocalService

  • Service对象与Service的启动者在同个进程中运行,两者的通信是进程内通信

2,远程服务RemoleService

  • Service对象与Service的启动者不在同个进程中运行,这时存在一个进程间通信的问题,Android专门为此设计了AIDL来实现进程间的通信
启动与停止服务:

1,方式一:一般启动

  • context.startService(Intent intent)
  • context.stopService(Intent intent)

2,方式二:绑定启动

  • 1,context.bindService(Intent intent,ServiceConnection connection)
  • 2,context.unbindService(ServiceConnection connection)

先上布局截图吧(代码应该不需要上了吧…):
在这里插入图片描述

步骤也就是首先要创建一个继承Service的子类:

public class MyLocalService extends Service {
   


    public MyLocalService(){
   
        Log.e("TAG","MyService()");
    }

    @Override
    public void onCreate() {
   
        super.onCreate();
        Log.e("TAG","MyService onCreate");
    }

    @Override
    public void onDestroy() {
   
        super.onDestroy();
        Log.e("TAG","MyService onDestroy");
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
   
        Log.e(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值