Can someone describe the semantics behind this situation? What I'm
seeing is that obviously my application process that has a running
background service getting killed off, but in some scenarios it never
seems to get restarted, or at least takes much longer to restart than
I would have expected. Should I expect Android to restart the
services when resources free up? Is this simply an example of the O/S
thrashing in an attempt to process scheduled activity when memory is
very very low?
The scenario that I'm using to reproduce this right now is loading
WebKit with a complex page on a G1 with low memory, watching my
service (Screebl) die, and then exiting WebKit hoping that my service
will start again, but it never seems to start.
I've even started up a task manager and killed off everything that
isn't necessary to free up memory. Eventually, some threshold is
passed, and my service gets restarted. How does Android choose the
precedence of which services to start as resources are freed? Can I
increase the priority of my process?
Here's the sequence of what I think are relevant entries in LogCat:
Entries that I'm watching have to do with Screebl and are highlighted
by spacing.
11-13 09:54:09.403: INFO/ActivityManager(76): Displayed activity
com.android.browser/.BrowserActivity: 3516 ms (total 3516 ms)
11-13 09:54:14.633: DEBUG/dalvikvm(12559): GC freed 3156 objects /
238016 bytes in 194ms
11-13 09:54:16.493: DEBUG/skia(12541): purging 6K from font cache [1
entries]
11-13 09:54:18.403: DEBUG/dalvikvm(12541): GC freed 672 objects /
70208 bytes in 1856ms
11-13 09:54:19.013: WARN/InputManagerService(76): Starting input on
non-focused client com.android.internal.view.IInputMethodClient$Stub
$pr...@43242248 (uid=10003 pid=12559)
11-13 09:54:21.843: INFO/ActivityManager(76): Process
com.keyes.screebl.lite (pid 12529) has died.
11-13 09:54:21.973: DEBUG/Sensors(76): sensors=00000000, real=00000000
11-13 09:54:21.993: WARN/ActivityManager(76): Scheduling restart of
crashed service com.keyes.screebl.lite/.ScreeblService in 5000ms
11-13 09:54:22.073: DEBUG/skia(12546): purging 6K from font cache [1
entries]
11-13 09:54:22.133: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:54:22.183: DEBUG/AKMD(56): Compass CLOSE
11-13 09:54:22.323: DEBUG/dalvikvm(12546): GC freed 902 objects /
88072 bytes in 245ms
11-13 09:54:27.093: INFO/ActivityManager(76): Start proc
com.keyes.screebl.lite for service
com.keyes.screebl.lite/.ScreeblService: pid=12578 uid=10004 gids=
{3003, 1015}
11-13 09:54:27.424: DEBUG/skia(4605): purging 41K from font cache [5
entries]
11-13 09:54:27.863: DEBUG/dalvikvm(4605): GC freed 2992 objects /
160848 bytes in 435ms
11-13 09:54:27.923: INFO/dalvikvm(12578): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:54:28.003: INFO/dalvikvm(12578): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=48)
11-13 09:54:29.343: DEBUG/SensorManager(12578): found sensor: AK8976A
3-axis Accelerometer, handle=0
11-13 09:54:29.343: DEBUG/SensorManager(12578): found sensor: AK8976A
3-axis Magnetic field sensor, handle=1
11-13 09:54:29.343: DEBUG/SensorManager(12578): found sensor: AK8976A
Orientation sensor, handle=2
11-13 09:54:29.343: DEBUG/SensorManager(12578): found sensor: AK8976A
Temperature sensor, handle=3
11-13 09:54:29.373: DEBUG/AKMD(56): Compass OPEN
11-13 09:54:29.393: DEBUG/Sensors(76): sensors=00000004, real=00000004
11-13 09:54:32.223: DEBUG/skia(76): purging 103K from font cache [13
entries]
11-13 09:54:32.603: DEBUG/dalvikvm(76): GC freed 15676 objects /
870880 bytes in 382ms
11-13 09:54:32.893: DEBUG/SearchDialog(76): launching Intent
{ act=android.intent.action.VIEW dat=http://www.android.com/market/
flg=0x10000000 cmp=com.android.browser/.BrowserActivity (has extras) }
11-13 09:54:32.903: INFO/SearchDialog(76): Starting (as ourselves)
http://www.android.com/market/#Intent;action=android.intent.action.VIEW;launchFlags=0x10000000;component=com.android.browser/.BrowserActivity;S.user_query=an;S.query=http%3A%2F%2Fwww.android.com%2Fmarket%2F;end
11-13 09:54:32.933: INFO/ActivityManager(76): Starting activity:
Intent { act=android.intent.action.VIEW dat=http://www.android.com/
market/ flg=0x10000000 cmp=com.android.browser/.BrowserActivity (has
extras) }
11-13 09:54:33.163: WARN/IInputConnectionWrapper(76): showStatusIcon
on inactive InputConnection
11-13 09:54:33.303: DEBUG/dalvikvm(288): GC freed 524 objects / 36688
bytes in 114ms
11-13 09:54:34.673: DEBUG/dalvikvm(76): threadid=13: bogus mon 1+0>0;
adjusting
11-13 09:54:34.953: DEBUG/dalvikvm(12559): GC freed 5804 objects /
466352 bytes in 125ms
11-13 09:54:37.893: DEBUG/dalvikvm(12559): GC freed 5137 objects /
248968 bytes in 159ms
11-13 09:54:38.453: DEBUG/dalvikvm(4639): GC freed 15 objects / 464
bytes in 264ms
11-13 09:54:38.993: DEBUG/dalvikvm(12559): GC freed 4727 objects /
218336 bytes in 129ms
11-13 09:54:39.973: DEBUG/dalvikvm(12559): GC freed 4038 objects /
198104 bytes in 193ms
11-13 09:54:40.363: INFO/ActivityManager(76): Process
com.keyes.screebl.lite (pid 12578) has died.
11-13 09:54:40.363: WARN/ActivityManager(76): Scheduling restart of
crashed service com.keyes.screebl.lite/.ScreeblService in 20000ms
11-13 09:54:40.363: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:54:40.383: DEBUG/Sensors(76): sensors=00000000, real=00000000
11-13 09:54:40.543: DEBUG/AKMD(56): Compass CLOSE
11-13 09:54:40.753: DEBUG/dalvikvm(12559): GC freed 2108 objects /
101200 bytes in 137ms
11-13 09:54:44.673: INFO/ActivityManager(76): Process
com.google.android.challenge (pid 12546) has died.
11-13 09:54:44.683: WARN/ActivityManager(76): Scheduling restart of
crashed service
com.google.android.challenge/.service.AUTManagerService in 5000ms
11-13 09:54:44.683: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:54:49.733: INFO/ActivityManager(76): Start proc
com.google.android.challenge for service
com.google.android.challenge/.service.AUTManagerService: pid=12589
uid=10088 gids={3003, 1015}
11-13 09:54:50.033: DEBUG/dalvikvm(127): GC freed 709 objects / 28328
bytes in 246ms
11-13 09:54:50.253: INFO/dalvikvm(12589): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:54:50.313: INFO/dalvikvm(12589): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=60)
11-13 09:54:50.433: INFO/ActivityManager(76): Process
com.wingtseng123.SystemMemoryMonitor (pid 12524) has died.
11-13 09:54:50.433: WARN/ActivityManager(76): Scheduling restart of
crashed service com.wingtseng123.SystemMemoryMonitor/.MonitorService
in 19930ms
11-13 09:54:50.443: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:54:50.713: INFO/ADCApplication(12589): onCreate.
11-13 09:54:51.003: INFO/AUTManagerService(12589): onCreate.
11-13 09:54:55.783: DEBUG/SurfaceFlinger(76): About to give-up screen,
flinger = 0x1895c0
11-13 09:54:55.993: WARN/ActivityManager(76): Activity pause timeout
for HistoryRecord{43349190 com.android.browser/.BrowserActivity}
11-13 09:54:56.864: DEBUG/KeyguardViewMediator(76): wakeWhenReadyLocked
(82)
11-13 09:54:56.864: DEBUG/KeyguardViewMediator(76): handleWakeWhenReady
(82)
11-13 09:54:56.864: DEBUG/KeyguardViewMediator(76): pokeWakelock(5000)
11-13 09:54:57.023: DEBUG/SurfaceFlinger(76): Screen about to return,
flinger = 0x1895c0
11-13 09:54:59.313: DEBUG/KeyguardViewMediator(76): pokeWakelock(5000)
11-13 09:54:59.373: WARN/InputManagerService(76): Window already
focused, ignoring focus gain of:
com.android.internal.view.iinputmethodclient$stub$pr...@432824a8
11-13 09:55:00.393: INFO/ActivityManager(76): Start proc
com.keyes.screebl.lite for service
com.keyes.screebl.lite/.ScreeblService: pid=12594 uid=10004 gids=
{3003, 1015}
11-13 09:55:00.883: INFO/ActivityManager(76): Process
com.google.android.challenge (pid 12589) has died.
11-13 09:55:00.883: WARN/ActivityManager(76): Scheduling restart of
crashed service
com.google.android.challenge/.service.AUTManagerService in 20000ms
11-13 09:55:00.943: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:55:01.083: INFO/dalvikvm(12594): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:55:01.183: INFO/dalvikvm(12594): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=48)
11-13 09:55:02.484: DEBUG/SensorManager(12594): found sensor: AK8976A
3-axis Accelerometer, handle=0
11-13 09:55:02.484: DEBUG/SensorManager(12594): found sensor: AK8976A
3-axis Magnetic field sensor, handle=1
11-13 09:55:02.484: DEBUG/SensorManager(12594): found sensor: AK8976A
Orientation sensor, handle=2
11-13 09:55:02.484: DEBUG/SensorManager(12594): found sensor: AK8976A
Temperature sensor, handle=3
11-13 09:55:02.504: DEBUG/Sensors(76): sensors=00000004, real=00000004
11-13 09:55:02.513: DEBUG/AKMD(56): Compass OPEN
11-13 09:55:06.763: DEBUG/skia(288): purging 59K from font cache [6
entries]
11-13 09:55:06.903: DEBUG/dalvikvm(288): GC freed 370 objects / 23248
bytes in 131ms
11-13 09:55:10.413: INFO/ActivityManager(76): Start proc
com.wingtseng123.SystemMemoryMonitor for service
com.wingtseng123.SystemMemoryMonitor/.MonitorService: pid=12603
uid=10084 gids={1015}
11-13 09:55:10.523: INFO/dalvikvm(12603): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:55:10.553: INFO/dalvikvm(12603): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=76)
11-13 09:55:10.573: INFO/ActivityManager(76): Process
com.keyes.screebl.lite (pid 12594) has died.
11-13 09:55:10.573: DEBUG/Sensors(76): sensors=00000000, real=00000000
11-13 09:55:10.583: WARN/ActivityManager(76): Scheduling restart of
crashed service com.keyes.screebl.lite/.ScreeblService in 80000ms
11-13 09:55:10.593: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:55:10.813: DEBUG/AKMD(56): Compass CLOSE
11-13 09:55:11.033: DEBUG/MonitorService(12603): onCreate
11-13 09:55:11.053: DEBUG/MonitorService(12603): inProcessing false
11-13 09:55:15.603: WARN/TabControl(12559): Free WebView cache
11-13 09:55:15.763: DEBUG/dalvikvm(12559): GC freed 9726 objects /
2422592 bytes in 160ms
11-13 09:55:15.853: DEBUG/skia(12559): purging 203K from font cache
[25 entries]
11-13 09:55:15.983: DEBUG/dalvikvm(12559): GC freed 935 objects /
42312 bytes in 132ms
11-13 09:55:20.943: INFO/ActivityManager(76): Start proc
com.google.android.challenge for service
com.google.android.challenge/.service.AUTManagerService: pid=12610
uid=10088 gids={3003, 1015}
11-13 09:55:21.093: DEBUG/dalvikvm(150): GC freed 187 objects / 8088
bytes in 341ms
11-13 09:55:21.133: INFO/dalvikvm(12610): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:55:21.163: INFO/dalvikvm(12610): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=60)
11-13 09:55:21.223: INFO/ADCApplication(12610): onCreate.
11-13 09:55:21.383: INFO/AUTManagerService(12610): onCreate.
11-13 09:55:29.753: INFO/ActivityManager(76): moveTaskToBack: 197
11-13 09:55:35.413: DEBUG/dalvikvm(12541): GC freed 170 objects / 7512
bytes in 164ms
11-13 09:55:39.033: INFO/ActivityManager(76): Process
com.android.browser (pid 12559) has died.
11-13 09:55:39.063: INFO/WindowManager(76): WIN DEATH: Window{4329acf0
com.android.browser/com.android.browser.BrowserActivity paused=false}
11-13 09:55:39.183: INFO/ActivityManager(76): Low Memory: No more
background processes.
11-13 09:55:44.314: DEBUG/skia(4605): purging 83K from font cache [10
entries]
11-13 09:55:44.513: DEBUG/dalvikvm(4605): GC freed 103 objects / 3960
bytes in 199ms
11-13 09:55:49.284: DEBUG/skia(76): purging 109K from font cache [13
entries]
11-13 09:55:49.673: DEBUG/dalvikvm(76): GC freed 9484 objects / 452176
bytes in 384ms
11-13 09:55:54.373: DEBUG/dalvikvm(4639): GC freed 7 objects / 240
bytes in 110ms
11-13 09:55:59.353: DEBUG/dalvikvm(127): GC freed 381 objects / 12208
bytes in 126ms
11-13 09:56:05.183: DEBUG/dalvikvm(288): GC freed 68 objects / 3000
bytes in 96ms
11-13 09:56:10.253: DEBUG/dalvikvm(150): GC freed 52 objects / 2208
bytes in 146ms
11-13 09:56:20.203: DEBUG/dalvikvm(12541): GC freed 7 objects / 248
bytes in 86ms
11-13 09:56:22.644: DEBUG/SurfaceFlinger(76): About to give-up screen,
flinger = 0x1895c0
11-13 09:56:27.143: DEBUG/KeyguardViewMediator(76): wakeWhenReadyLocked
(4)
11-13 09:56:27.143: DEBUG/KeyguardViewMediator(76): handleWakeWhenReady
(4)
11-13 09:56:27.143: DEBUG/KeyguardViewMediator(76): pokeWakelock(5000)
11-13 09:56:27.284: DEBUG/SurfaceFlinger(76): Screen about to return,
flinger = 0x1895c0
11-13 09:56:30.623: INFO/ActivityManager(76): Start proc
com.keyes.screebl.lite for service
com.keyes.screebl.lite/.ScreeblService: pid=12617 uid=10004 gids=
{3003, 1015}
11-13 09:56:30.813: INFO/dalvikvm(12617): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=38)
11-13 09:56:30.833: DEBUG/dalvikvm(50): GC freed 295 objects / 11240
bytes in 212ms
11-13 09:56:30.853: INFO/dalvikvm(12617): Debugger thread not active,
ignoring DDM send (t=0x41504e4d l=48)
11-13 09:56:30.953: DEBUG/dalvikvm(50): GC freed 57 objects / 2512
bytes in 112ms
11-13 09:56:31.093: DEBUG/dalvikvm(50): GC freed 2 objects / 48 bytes
in 136ms
11-13 09:56:31.253: DEBUG/SensorManager(12617): found sensor: AK8976A
3-axis Accelerometer, handle=0
11-13 09:56:31.253: DEBUG/SensorManager(12617): found sensor: AK8976A
3-axis Magnetic field sensor, handle=1
11-13 09:56:31.263: DEBUG/SensorManager(12617): found sensor: AK8976A
Orientation sensor, handle=2
11-13 09:56:31.263: DEBUG/SensorManager(12617): found sensor: AK8976A
Temperature sensor, handle=3
11-13 09:56:31.263: DEBUG/AKMD(56): Compass OPEN
11-13 09:56:31.263: DEBUG/Sensors(76): sensors=00000004, real=00000004
11-13 09:56:32.763: DEBUG/SurfaceFlinger(76): About to give-up screen,
flinger = 0x1895c0
11-13 09:56:33.473: DEBUG/Sensors(76): sensors=00000000, real=00000000
11-13 09:56:33.603: DEBUG/AKMD(56): Compass CLOSE
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en