Для тех, кто все еще ищет ответ - этот может быть правильным:
Вы не можете: сделать службу неработоспособной, если при работе на малой памяти система всегда убьет вашу службу. НО
Вы можете: Сказать Системе перезапустить вашу службу, когда она будет убита. Посмотрите на этот кусок кода:
публичный статический финал int START_REDELIVER_INTENT
Добавлено на уровне API 5
Константа, возвращаемая из onStartCommand (Intent, int, int):
если процесс этой службы завершается во время ее запуска (после возврата из onStartCommand (Intent, int, int)), то он будет запланирован на перезапуск, и последний доставленный Intent повторно доставлен в него через onStartCommand (Intent , int, int).
Это намерение будет оставаться запланированным для повторной доставки до тех пор, пока служба не вызовет stopSelf (int) с идентификатором запуска, предоставленным onStartCommand (Intent, int, int). Служба не получит вызов onStartCommand (Intent, int, int) с нулевым Intent, поскольку он будет перезапущен только в том случае, если он не завершит обработку всех отправленных ему Intent (и любые такие ожидающие события будут доставлены в точка перезагрузки).
Постоянное значение: 3 (0x00000003)