问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么关掉android无用的service

发布网友 发布时间:2022-06-03 10:46

我来回答

1个回答

热心网友 时间:2023-10-16 12:02

 启动:
  //首先注册服务
  <service
  android:name="com.wangdeyu.service.MusicService"
  android:exported="false" >
  <intent-filter>
  <action android:name="com.abc" />
  </intent-filter>
  </service>
  
  //启动服务
  Intent service=new Intent(" com.abc");
  startService(service);
  //Service生命周期
  ①onCreate() 创建Service
  ②onStart(Intent intent, int startId) 启动Service
  ③onDestroy() 销毁Service
  //关闭服务
  stopService(service);
  
  Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy
  我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。
  1 通过startService,就是上面这种
  Service会经历 onCreate --> onStart
  stopService的时候直接onDestroy
  如果是 调用者 直接退出而没有调用stopService的话,Service会一直在后台运行。
  下次调用者再起来仍然可以stopService。
  2 通过bindService
  Service只会运行onCreate, 这个时候 调用者和Service绑定在一起
  调用者退出了,Srevice就会调用onUnbind-->onDestroyed
  所谓绑定在一起就共存亡了。
  注意:Service的onCreate的方法只会被调用一次,
  就是你无论多少次的startService又 bindService,Service只被创建一次。
  如果先是bind了,那么start的时候就直接运行Service的onStart方法,
  如果先是start,那么bind的时候就直接运行onBind方法。如果你先bind上了,就stop不掉了,
  只能先UnbindService, 再StopService,所以是先start还是先bind行为是有区别的。
  Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。
  服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。
  这两个方法都可以启动Service,但是它们的使用场合有所不同。使用startService()方法启用服务,调用者与服务之间没有关连,
  即使调用者退出了,服务仍然运行。使用bindService()方法启用服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止,大有“不求同时生,必须同时死”的特点。
  如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,
  接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,
  但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。
  如果打算采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,
  接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,
  接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,
  多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。
  如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... PPT的幻灯片。怎么样点击下一页 腾讯怎么用登录? 怎么把FLV格式转换成MP4格式? 纸浆金鱼跟鹦鹉是不是一样的货? 送风模式能开着睡觉吗 autocad怎样创建通用块? 苹果8一直无服务 快手极速版怎么换个提现 高考智能填报志愿靠谱吗 智能填报志愿准不准?好不好? 智能填表免费吗? 智能填写什么意思? 怎么在网上找工作啊,是不是网上都是中介啊 现在在网上找工作怎么那么难 都是中介···我擦·· 现在找工作为什么全是中介和劳务派遣? 网上找工作怎么都是中介地址 没有厂的地址 网上找工作都是中介骗人的吗 找工作,网上的都是中介吗 现在找工作,怎么都是中介? 找工作的朋友们,不要在网上找工作了,网上的工作全都是中介所登录信息,都是骗人的。 android中启动service的activity销毁了,这时怎么关闭service Android如何启用Service,如何停用Service。 android中启动service的activity销毁了,这时怎么关闭service? Android开发中关闭service的问题 在android中怎么关闭一个service,要真正的关闭 android service怎么停止自己 android中开启service后应用关闭service会关闭吗 安卓开发 关闭Service服务 android 怎么彻底让service退出 Android中 Service的结束 扫淘宝店铺二维码给商家发红包登录淘特能收到吗 身份证上是农历的生日星座该怎么算 为什么汽车门锁开锁后就马上自动锁上 星座是怎么算的( 按公历还是按农历) 星座是怎么算的?是算农历还是阴历呢? 如果是阴历,怎么算星座 怎样算自己属于哪个星座我想知道星座是按阴历还是阳 苹果手机是什么软件下载不要ad号呢 苹果手机没有AD号怎么下载东西 苹果手机没有设置ad帐户可以下软件吗