【问题标题】:Android bound service, what happen when activity unbound it?Android绑定服务,当activity解除绑定时会发生什么?
【发布时间】:2011-07-26 21:44:52
【问题描述】:

我的主要活动可以绑定服务并调用服务方法。

服务方法启动一个线程(在服务中)下载数据并将它们存储在数据库中。下载结束后可以重新启动线程。

如果活动调用 unbindService(即在 onPause 中)会发生什么?服务被销毁,线程停止,或者所有任务结束后服务被销毁?

【问题讨论】:

    标签: android service android-service


    【解决方案1】:

    如果服务之前使用startService() 方法启动然后绑定到它,则取消绑定后服务将继续运行。

    如果您刚刚使用bindService()创建服务,如果在取消绑定后没有运行,如果没有其他Activity绑定到该服务,则该服务将停止。

    【讨论】:

    • 服务是使用 bindService() 启动的,但是当 Activity 取消绑定它时,服务中的相同线程仍然可以运行,我的问题是,这些任务会发生什么?他们完成了还是被杀死了?
    • 线程将继续运行。你需要阻止他们。您必须重写 Services onStop() 方法,并且应该停止当前正在执行的线程。
    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多