【问题标题】:Is bindService necessary for a local (same process) Service?本地(相同进程)服务是否需要 bindService?
【发布时间】:2010-06-30 19:18:07
【问题描述】:

我有一个带有静态方法的服务单例类,我从同一个进程中调用这些方法。当我的应用程序启动时,我调用 startService。我也调用了 bindService,但现在我想知道这是否真的有必要。

【问题讨论】:

    标签: android process service local


    【解决方案1】:

    这取决于您是否需要在该服务上调用实例方法。 StartService 使服务启动并运行并处理您发送的任何 Intent,但您仍然无法与其交互,因为您没有对服务对象的引用。调用 bindService 是提供该引用的原因,以便您可以在其上调用实例方法。如果不需要,就不需要 bindService。

    【讨论】:

    • 是的,我需要调用该服务的方法,但我调用的是静态方法。我想我认为 bindService 有用的唯一原因是调用了“onServiceConnected”和“onServiceDisconnected”方法,以便您知道服务分别何时启动和停止。在我的情况下,我的服务应该一直运行,所以这些方法不是那么有用。还是我在这里遗漏了什么?
    • 您的服务的生命周期超出了 onServiceConnected 和 onServiceDisconnected。 onCreate 和 onDestroy 是更好的生命周期度量。
    • 确实如此。所以我仍然看不到在本地进程中使用 bindService。
    • 在您的特定实例中没有用,因此您不应该使用它。虽然它有有效的用途。
    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 2014-09-17
    • 2013-10-16
    • 2020-04-23
    • 2018-08-27
    相关资源
    最近更新 更多