service是一个简单的android组件,它可以保持在后台运行甚至当用户没有与程序交互的时候,因此当你需要的时候你可以创建services。
如果你需要在主线程之外做一些事情,而且只是在用户交互的时候,更好的解决办法是新建一个线程。例如,如果你想播放音乐,但是只是在activity运行的时候,你可以在onCreate()
方法中新建线程,在onStart()
方法中运行,在onStop()
方法中结束,你可以使用AsyncTask
或者 HandlerThread
来替代传统的thread.
注意如果你使用services,默认情况下它是运行在主线程的,你仍然需要在services中创建线程执行耗时或者容易阻塞的操作。