网站公告:
Binance Casino永久网址【363050.com】
363050.com全国服务热线:
Binance Casino Binance Casino
Binance Casino - 领先的数字货币娱乐场,安全稳定,极速存取黑马程序员安卓教程:bd方式开启服务生命周期
添加时间:2025-09-02 11:02:42

  Binance Casino,USDT娱乐,数字货币游戏,区块链游戏,BTC娱乐场,USDT投注,数字资产平台,体育娱乐,电子游艺,快速提现

Binance Casino - 领先的数字货币娱乐场,安全稳定,极速存取黑马程序员安卓教程:bind方式开启服务生命周期

  在“开启服务生命周期之start方式“文档中我们使用startService开启一个服务,使用stopService停

  止一个服务。下面我们通过绑定的方式来开启服务,然后对比这两种开启服务方式的区别。

  在项目“01_服务的生命周期“中调整xml布局页面,效果如图1-1所示:

  在该布局页面中添加按钮“绑定服务“和”解除绑定服务“,代码如例1-1所示:

  编写按钮“绑定服务“和按钮”解除绑定服务“的点击事件bind,unbind。当点击”绑定服务“按钮,

  bindService方法开启一个服务,查看文档对该方法的描述如图1-2所示:

  图1-2可知:bindService方法开启一个关联当前应用程序的服务,当这个服务不存在时就会自动创建

  conn:是一个ServiceConnection类型的对象并且不能为null,通过这个参数可以监听服务的开启和停

  flags:绑定操作服务的选项,一般为BIND_AUTO_CREATE代表自动创建服务绑定。通过对该方法的分

  析我们知道:使用bindService方法可以绑定一个指向的服务意图到本应用,并通过第二个参数conn来监

  图1-3可知:ServiceConnection是一个接口类,用来监测当前应用服务的状态。如同系统的其他回调

  函数一样,该类中的方法会在进程的主线.重写onBind和onUnbind方法

  运行程序,当点击“绑定服务“按钮,logcat 打印出如图1-4 所示信息:

  图1-6 可知:当再次点击“解除绑定“按钮时,程序报错。由于该应用程序已解除了服务的绑定,再

  若点击“BACK“按钮,退出当前应用,此时服务又会怎样呢?参考图1-7:

  图 1-7 可知:当点击“BACK“按钮退出当前应用程序时,程序会报错,然后执行 onUnbind 方法解除

  服务绑定,最后再执行onDestroy 方法停止服务。出现错误提示为:主Activity 导致服务的泄露。出现这一

  现象的原因:服务是绑定在这个Activity 中的,当点击”BACK“按钮时,Activity 就会销毁,因此服务绑定

  在 Android 中,我们已经接触了两种开启服务的方式。这两种方式也可以混合使用,不过在使用的过