Имеется "пустое" приложение, главное активити с кнопками "Запустить" и "Остановить" сервис через startService/stopService. Сам сервис тоже "пустой", при старте возвращает START_NOT_STICKY. Запускается в отдельном процессе .
public class TestService extends Service {
@Override
public void onCreate() {
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_NOT_STICKY;
}
@Override
public void onDestroy() {
super.onDestroy();
}
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
<service
android:name=".TestService"
android:process=":service"
android:exported="false">
</service>
При остановке, как и положено, вызывается onDestroy, но на мониторе процесс продолжает жить, а память не выгружается, периодически возникает в нём какая-то незначительная <0.5% процессорная активность.
Когда-то изучал сервисы и делал такой же пример, и точно помню, что процесс моментально убивался по stopService. Сейчас же я не понимаю, почему такое поведение. Проверял на андроиде 4.4 и 6.0.