- java/
- Java 将服务绑定放在onStart()上是否不好?
Java 将服务绑定放在onStart()上是否不好?
Java 将服务绑定放在onStart()上是否不好?,java,android,service,binding,bind,Java,Android,Service,Binding,Bind,我这里有两项活动。
它们中的每一个都将与我尝试绑定的单个服务进行交互
但是如果我把每个活动的onStart()方法都放入绑定代码,这是不是很糟糕
protected void onStart() {
super.onStart();
if(playIntent==null){
playIntent = new Intent(this, MusicService.class);
bindService(playIntent, musicConnection, Context
我这里有两项活动。
它们中的每一个都将与我尝试绑定的单个服务进行交互
但是如果我把每个活动的onStart()方法都放入绑定代码,这是不是很糟糕
protected void onStart() {
super.onStart();
if(playIntent==null){
playIntent = new Intent(this, MusicService.class);
bindService(playIntent, musicConnection, Context.BIND_AUTO_CREATE);
startService(playIntent);
}
}
如果从活动-A转到活动-B,然后按后退按钮,会怎么样?
因为Android会再次调用onStart()方法,这样可以吗,
这意味着再次绑定它
从同一个活动中重新绑定两次会是坏习惯还是什么
我在android开发者网站上找到的关于活动流程的参考资料如下:
在匹配过程中,通常应将绑定和解除绑定配对
提出并执行
客户生命周期中的关键时刻
例如:
如果您只需要在活动停止时与服务交互
可见,您应该在onStart()期间绑定,并在onStart()期间解除绑定
onStop()
如果您希望您的活动在运行时收到响应
在后台停止,然后可以在onCreate()和
在onDestroy()期间解除绑定
请注意,这意味着您的活动需要在服务运行的整个过程中(即使在后台)使用该服务,因此,如果该服务位于另一个进程中,则您会增加该进程的权重,系统将更有可能终止该服务。
注意:在活动的onResume()和onPause()期间,通常不应绑定和解除绑定,因为这些回调发生在每个生命周期转换时,您应该将这些转换时发生的处理保持在最低限度。此外,如果应用程序中的多个活动绑定到同一个服务,并且其中两个活动之间存在转换,则在下一个活动绑定(恢复期间)之前,该服务可能会被销毁并重新创建为当前活动解除绑定(暂停期间)
这是我在android开发者网站上发现的:
在匹配过程中,通常应将绑定和解除绑定配对
提出并执行
客户生命周期中的关键时刻
例如:
如果您只需要在活动停止时与服务交互
可见,您应该在onStart()期间绑定,并在onStart()期间解除绑定
onStop()
如果您希望您的活动在运行时收到响应
在后台停止,然后可以在onCreate()和
在onDestroy()期间解除绑定
请注意,这意味着您的活动需要在服务运行的整个过程中(即使在后台)使用该服务,因此,如果该服务位于另一个进程中,则您会增加该进程的权重,系统将更有可能终止该服务。
注意:在活动的onResume()和onPause()期间,通常不应绑定和解除绑定,因为这些回调发生在每个生命周期转换时,您应该将这些转换时发生的处理保持在最低限度。此外,如果应用程序中的多个活动绑定到同一个服务,并且其中两个活动之间存在转换,则在下一个活动绑定(恢复期间)之前,该服务可能会被销毁并重新创建为当前活动解除绑定(暂停期间)
这是我在android开发者网站上发现的:
在匹配过程中,通常应将绑定和解除绑定配对
提出并执行
客户生命周期中的关键时刻
例如:
如果您只需要在活动停止时与服务交互
可见,您应该在onStart()期间绑定,并在onStart()期间解除绑定
onStop()
如果您希望您的活动在运行时收到响应
在后台停止,然后可以在onCreate()和
在onDestroy()期间解除绑定
请注意,这意味着您的活动需要在服务运行的整个过程中(即使在后台)使用该服务,因此,如果该服务位于另一个进程中,则您会增加该进程的权重,系统将更有可能终止该服务。
注意:在活动的onResume()和onPause()期间,通常不应绑定和解除绑定,因为这些回调发生在每个生命周期转换时,您应该将这些转换时发生的处理保持在最低限度。此外,如果应用程序中的多个活动绑定到同一个服务,并且其中两个活动之间存在转换,则在下一个活动绑定(恢复期间)之前,该服务可能会被销毁并重新创建为当前活动解除绑定(暂停期间)
这是我在android开发者网站上发现的:
在匹配过程中,通常应将绑定和解除绑定配对
提出并执行
客户生命周期中的关键时刻
例如:
如果您只需要在活动停止时与服务交互
可见,您应该在onStart()期间绑定,并在onStart()期间解除绑定
onStop()
如果您希望您的活动在运行时收到响应
在后台停止,然后可以在onCreate()和
在onDestroy()期间解除绑定
请注意,这意味着您的活动需要在服务运行的整个过程中(即使在后台)使用该服务,因此,如果该服务位于另一个进程中,则您会增加该进程的权重,系统将更有可能终止该服务。
注意:在活动的onResume()和onPause()期间,通常不应绑定和解除绑定,因为这些回调发生在每个生命周期转换时,您应该将这些转换时发生的处理保持在最低限度。另外,如果应用程序中的多个活动绑定到同一个服务