In der 1.6 API gibt es eine Möglichkeit, sicherzustellen, dass die OnStart() -Methode eines Dienstes aufgerufen wird, nachdem der Dienst wegen Speicherdruck beendet wird ? Aus den Protokollen scheint es, dass der "Prozess", zu dem der Dienst gehört, neu gestartet wird, der Dienst selbst jedoch nicht. Ich habe einen Log.d() - Aufruf in der onStart() -Methode platziert, und dies wird nicht erreicht."Zeitplan Neustart des abgestürzten Dienstes", aber kein Aufruf von onStart() folgt
Um meinen Dienst unter Speicherdruck zu testen, spawne ich ihn aus einer Aktivität, dann starten Sie den Webbrowser und besuchen Sie einige Javascript-schwere Websites wie Slashdot, bis mein Dienst getötet wird. Die logcat lautet:
03-07 16:44:13.778: INFO/ActivityManager(52): Process com.kostmo.charbuilder.full (pid 2909) has died.
03-07 16:44:13.778: WARN/ActivityManager(52): Scheduling restart of crashed service com.kostmo.charbuilder.full/com.kostmo.charbuilder.DownloadImagesService in 5000ms
03-07 16:44:13.778: INFO/ActivityManager(52): Low Memory: No more background processes.
03-07 16:44:13.778: ERROR/ActivityThread(52): Failed to find provider info for android.server.checkin
03-07 16:44:13.778: WARN/Checkin(52): Can't log event SYSTEM_SERVICE_LOOPING: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/events
03-07 16:44:18.908: INFO/ActivityManager(52): Start proc com.kostmo.charbuilder.full for service com.kostmo.charbuilder.full/com.kostmo.charbuilder.DownloadImagesService: pid=3560 uid=10027 gids={3003, 1015}
03-07 16:44:19.868: DEBUG/ddm-heap(3560): Got feature list request
03-07 16:44:20.128: INFO/ActivityThread(3560): Publishing provider com.kostmo.charbuilder.full.provider.character: com.kostmo.charbuilder.provider.ImageFileContentProvider
'onCreate()' wird aufgerufen, nicht 'onStart()', da niemand einen Start oder eine Bindung angefordert hat. Sie müssen den Dienst zu diesem Zeitpunkt herunterfahren (oder anderweitig starten, falls erforderlich). –