【发布时间】:2014-09-28 00:51:10
【问题描述】:
不知何故,我很难解析 START_STICKY 标志的 official description:
从 onStartCommand(Intent, int, int) 返回的常量:如果这个 服务的进程在启动时被杀死(从 onStartCommand(Intent, int, int)),然后让它处于启动状态 但不要保留这个传递的意图。稍后系统将尝试 重新创建服务。因为它处于启动状态,所以它会 保证在创建后调用 onStartCommand(Intent, int, int) 新的服务实例;如果没有任何待处理的启动命令 交付给服务,它将以空意图调用 对象,因此您必须小心检查。
此模式适用于将显式启动的事物,并且 停止运行任意时间段,例如服务 执行背景音乐播放。
具体来说,以下四个部分没有技术意义(又名让我去 WTF):
- “如果这个服务的进程被杀死了......,那么让它保持在启动状态” [你如何让被杀死的东西保持在启动状态?]
- “稍后系统会尝试重新创建服务。因为它处于启动状态,...” [如果系统尝试重新创建服务,为什么它处于启动状态服务?]
- "因为处于启动状态,所以保证调用onStartCommand(...) ..." ["保证调用"?抱歉,无法从语言上解析该短语]
- “此模式适用于将明确启动和停止运行任意时间段的事物,...” [“并停止运行”??]
有没有人对这个标志有更好的规格?而且,对于任何阅读此内容的 Google 员工:wtf?你能在内部迅速修复它吗?
【问题讨论】: