(1) service 是运行在主线程中的,所以一个非常耗时间的操作(比如下载)会阻塞主线程(即UI线程)。可以通过在 service 中创建一个单独的线程来解决这个问题。
(2) service 是会被系统杀死的。系统觉得内存不足的话,就可能会杀掉你的 service。如果你的service绑定着一个正在与用户交互的组件(比如activity),那么系统就不会优先杀掉这个service。
(3) 为了提高你的App的安全性,最好总是使用明确的意图(explicit intent)来启动或绑定你的 service 并且不要为这个 service 定义任何意图过滤器(intent filter)。如果你的service只是在你自己的程序内部使用,那么你可以将<service> 标签的android:exported 属性设置为"false",这样其他的程序就无法使用你的service了。