android service的生命周期? 2种启动的区别?

匿名网友 匿名网友 发布于: 2016-06-28 00:00:00
阅读 269 收藏 0 点赞 0 评论 0

  • startService() 启动本地服务Local Service
  • bindService() 启动远程服务Remote Service,bindService()可以绑定一个已有的service,如果bind的service还没启动,就先启动然后再bind()
  • 远程服务允许暴露接口并让系统内不同程序相互注册调用。LocalService无法抵抗一些系统清理程序如MIUI自带的内存清除

  • Service在被创建之后都会进入回调onCreate()方法,随后根据启动方式分别回调onStartCommand()方法和onBind()方法。如果Service是经由bindService()启动,则需要所有client全部调用unbindService()才能将Service释放等待系统回收,最后onDestroy()

  • 让Service不运行在主线程,可以在子线程内开启Service.

评论列表
文章目录