经典指数          
原因
14905
浏览数
0
收藏数
 

android通过startService的方式开启服务,关于service生命周期的onCreate()和onStart() 说法正确的是哪两项
  • 当第一次启动的时候先后调用 onCreate()和 onStart()方法
  • 当第一次启动的时候只会调用 onCreate()方法
  • 如果 service 已经启动,将先后调用 onCreate()和 onStart()方法
  • 如果 service 已经启动,只会执行 onStart()方法,不在执行 onCreate()方法

     举报   纠错  
 
切换
2 个答案

我选择AD

1. startService()的目的是回调onStart()方法,onCreate()

方法是在Service不存在的时候调用的,如果Service存在(例如之前调用了bindService,那么Service的onCreate方法已经调用了)那么startService()将跳过onCreate()

方法。

      2. 

bindService()目的是回调onBind()方法,它的作用是在Service和调用者之间建立一个桥梁,并不负责更多的工作(例如一个Service需要连接服务器的操作),一般使用bindService来绑定到一个现有的Service(即通过StartService启动的服务)。

      由于Service

的onStart()方法只有在startService()启动Service的情况下才调用,故使用onStart()的时候要注意这点。

 
切换

AD

 
切换
撰写答案