我们有一项服务可以处理我们的一项活动。我们对Android很新,并想知道绑定到该服务的最佳时刻是什么。我们只需要通过活动可能进行的一半交互的服务。所以我们必须选择两种可能性之一:
这里的“安卓方式”是什么?正在运行的服务是否需要大量开销,还是仅在真正需要时启动?服务本身非常轻巧。
答案 0 :(得分:1)
我个人更喜欢在onCreate()中调用bindService(),在完成使用之后,在onDestroy()中调用unbindService()。原因是bindService()实际上是一个异步调用。这在API中没有充分记录。当您调用bindService()时,您在ServiceConnection.onServiceConnected()回调方法中获取的binder对象的引用不会立即实例化,同时在调用bindService()之后并且在binder对象获得实例化并准备使用之前存在延迟。因此,最适合调用它的地方是onCreate(),因为我们通常不会执行太多繁重的操作,并且需要在此阶段立即使用binder对象。