GC_EXPLICIT freed 1198K, 12% free 17325K/19624K, paused 5ms+4ms, total 55ms???????

  • Antworten:10
  • Bentwortet
Michele
  • Forum-Beiträge: 1.525

01.06.2013, 16:57:59 via Website

Hallo alle zusammen.

Kann mir wer sagen was das heißt oder bedeuten soll?

1D/dalvikvm: GC_EXPLICIT freed 1198K, 12% free 17325K/19624K, paused 5ms+4ms, total 55ms

Das kommt nach einiger Zeit, wenn ich den Service laufen lassen. Und im Service ist eine while(); schleife die in einem Thread ist.
Die bricht dann ab nach 30min ca. und dann kommt die Fehlermeldung im LogCat.

Hat das irgendwas mit dem Cache/Ram zutun?
Kann ich den irgendwie ich den Thread pausieren, dann Cache/Ram leeren und wieder von vorne anfangen?


LG

— geändert am 01.06.2013, 17:36:24

Antworten
Andy N.
  • Forum-Beiträge: 3.112

01.06.2013, 20:05:27 via App

Das der garbage collection, der von einer App aufgerufen wurde.

Antworten
Michele
  • Forum-Beiträge: 1.525

01.06.2013, 20:10:57 via Website

Oh ok. Und was soll mir das genau sagen? Kenn das
leider nicht.


LG

Antworten
Andy N.
  • Forum-Beiträge: 3.112

01.06.2013, 20:44:22 via App

Sprichst du den gc an?
Es ist auch ziemlich viel, was da frei geräumt wird. Erstellst Du in der Schleife ständig ein neues Object?

Antworten
Michele
  • Forum-Beiträge: 1.525

02.06.2013, 04:09:25 via Website

Was ist denn der gc? Damit kenne ich mich nicht aus was das angeht.
Deswegen frage ich hier um eure Hilfe :*).

Ich erstelle nichts neues in der Schleife sondern lasse was sichtbar sein und dann wieder unsichtbar sein.

So ungefähr:

1remoteViews.setViewVisibility(R.id.imageView1, View.GONE);
2remoteViews.setViewVisibility(R.id.imageView2, View.VISIBLE);

Antworten
Andy N.
  • Forum-Beiträge: 3.112

02.06.2013, 12:38:27 via Website

Der Garbage Collection such nach nicht mehr gebrauchten Speicher und gibt diesen frei. Die Logmeldung ist eigentlich kein Fehler, könnte aber aus etwas anderem resultieren.

Antworten
Michele
  • Forum-Beiträge: 1.525

02.06.2013, 14:31:50 via Website

Komisch ist das das aber kam im LogCat wo mein Thread und mein ganzes Widget oder App gekillt wurde.
Und ich kann das nicht mehr starten. Egal ob ich das neu Installiere usw. Muss mein Handy komplett Neustarten.

Verstehe ich nicht warum mein Thread sich flachlegt nach einiger Zeit. Ob wohl ich im while(); nichts neues mache
sondern nur was ändern von der Anzeige her.



LG

Antworten
Michele
  • Forum-Beiträge: 1.525

02.06.2013, 18:33:40 via Website

Sage ja der Thread ist dran schuld.
Kann meine App dann wohl vergessen.

16-02 15:05:18.041 22250-22250/de.mk.de.mk.widgettest D/SELinux: selinux_knoxprecontexthook: Calling selinux_knoxprecontexthook for uid: 10196 isSystemServer: 0 seinfo: default pkgname de.mk.widgetandroidtamago
206-02 15:05:18.041 22250-22250/de.mk.de.mk.widgettest D/dalvikvm: Late-enabling CheckJNI
306-02 15:05:18.071 22250-22256/de.mk.de.mk.widgettest I/dalvikvm: Debugger is active
406-02 15:05:18.091 22250-22250/de.mk.de.mk.widgettest D/WidgetClass: WidgetUpdatetSich
506-02 15:05:28.251 22250-22250/de.mk.de.mk.widgettest D/StatusClass: StatusClassIstGestartet
606-02 15:05:28.261 22250-22401/de.mk.de.mk.widgettest V/MediaPlayer: decode(50, 220830, 885307)
706-02 15:05:28.311 22250-22250/de.mk.de.mk.widgettest D/StatusClass: StatusClassLauft
806-02 15:05:28.351 22250-22250/de.mk.de.mk.widgettest D/StatusClass: EndeStatusClass
906-02 15:25:18.202 22250-29987/de.mk.de.mk.widgettest V/MediaPlayer: decode(52, 1106185, 11086)
1006-02 15:36:51.569 22250-22402/de.mk.de.mk.widgettest D/dalvikvm: GC_FOR_ALLOC freed 90K, 12% free 17068K/19292K, paused 73ms, total 76ms
1106-02 15:36:51.569 22250-22402/de.mk.de.mk.widgettest I/dalvikvm-heap: Grow heap (frag case) to 17.761MB for 46508-byte allocation
1206-02 15:36:51.589 22250-22259/de.mk.de.mk.widgettest D/dalvikvm: GC_FOR_ALLOC freed 30K, 12% free 17082K/19340K, paused 18ms, total 18ms
1306-02 15:55:49.299 22250-22402/de.mk.de.mk.widgettest D/dalvikvm: GC_FOR_ALLOC freed 331K, 11% free 17218K/19336K, paused 53ms, total 65ms
1406-02 15:55:49.299 22250-22402/de.mk.de.mk.widgettest I/dalvikvm-heap: Grow heap (frag case) to 17.930MB for 69752-byte allocation
1506-02 15:55:49.319 22250-22259/de.mk.de.mk.widgettest D/dalvikvm: GC_FOR_ALLOC freed 47K, 12% free 17239K/19408K, paused 20ms, total 20ms
1606-02 16:05:18.264 22250-11149/de.mk.de.mk.widgettest V/MediaPlayer: decode(52, 1106185, 11086)
1706-02 16:05:18.664 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 317K, 11% free 17311K/19408K, paused 3ms+2ms, total 31ms
1806-02 16:15:01.673 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 329K, 11% free 17367K/19404K, paused 5ms+2ms, total 55ms
1906-02 16:24:44.481 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 330K, 11% free 17421K/19404K, paused 3ms+4ms, total 42ms
2006-02 16:25:18.324 22250-14157/de.mk.de.mk.widgettest V/MediaPlayer: decode(52, 1106185, 11086)
2106-02 16:31:46.904 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 308K, 11% free 17497K/19508K, paused 20ms+3ms, total 70ms
2206-02 16:41:40.202 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 331K, 11% free 17553K/19508K, paused 3ms+3ms, total 41ms
2306-02 16:45:18.395 22250-16753/de.mk.de.mk.widgettest V/MediaPlayer: decode(52, 1106185, 11086)
2406-02 16:51:23.131 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 331K, 10% free 17606K/19508K, paused 4ms+2ms, total 55ms
2506-02 16:57:18.448 22250-22402/de.mk.de.mk.widgettest E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!
2606-02 16:57:18.448 22250-22402/de.mk.de.mk.widgettest W/dalvikvm: threadid=13: thread exiting with uncaught exception (group=0x410ffac8)
2706-02 16:57:18.468 22250-22402/de.mk.de.mk.widgettest E/AndroidRuntime: FATAL EXCEPTION: Thread-829
28 java.lang.RuntimeException: system server dead?
29 at android.appwidget.AppWidgetManager.updateAppWidget(AppWidgetManager.java:378)
30 at de.mk.de.mk.widgettest .ActionClass$2.run(ActionClass.java:111)
31 at java.lang.Thread.run(Thread.java:856)
32 Caused by: android.os.TransactionTooLargeException
33 at android.os.BinderProxy.transact(Native Method)
34 at com.android.internal.appwidget.IAppWidgetService$Stub$Proxy.updateAppWidgetIds(IAppWidgetService.java:638)
35 at android.appwidget.AppWidgetManager.updateAppWidget(AppWidgetManager.java:375)
36 ... 2 more
3706-02 17:01:19.583 22250-22254/de.mk.de.mk.widgettest D/dalvikvm: GC_CONCURRENT freed 352K, 10% free 17639K/19508K, paused 6ms+1ms, total 66ms
3806-02 17:02:27.920 22250-22402/de.mk.de.mk.widgettest I/Process: Sending signal. PID: 22250 SIG: 9
3906-02 17:02:27.940 754-850/? E/SmartFaceService - 3rd party pause: onChange, mOptionMenuOpened: false mSystemDialogOpened: false

— geändert am 02.06.2013, 18:35:26

Antworten
Enrico
  • Forum-Beiträge: 33

02.06.2013, 18:54:44 via Website

Nun, wenn das kommt, hast du dein Widget nicht richtig programmiert.
Du darfst in keinem Fall eine Schleife oder einen Thread im Hintergrund laufen lassen. Du änderst dein Widget nur jede Stunde oder so und rufst einen Service über den AlarmManager auf. Wenn du es so machst, sollte der gc nichts mehr zu meckern haben ;)

Antworten
Michele
  • Forum-Beiträge: 1.525

02.06.2013, 18:57:16 via Website

Ja das dachte ich mir dann auch :(

Aber ich weiß sonst echt nicht wie ich eine Animation laufen lassen soll die ich steuern kann zu not.

Animation die ewig laufen sollen und sich nicht verändern sollen gehen ja über einen ViewFlipper.
Da passiert ja sowas nicht.

Aber ich will meine Animationen steuern. Und ich glaube nicht das Canvas oder SurfaceView irgendwie
gehen sollten im Widget.

Also muss ich mir was anderes überlegen und die App abbrechen erstmal.



LG

Antworten
Michele
  • Forum-Beiträge: 1.525

03.06.2013, 00:20:22 via Website

Ich denke mal ich habe es soweit nun hinbekommen ohne eine while(); schleife und Thread kram.

Broadcast Hilft halt.

Danke euch erstmal allen. Wenn ich weitere fragen oder Probleme habe melde ich
mich nochmal.:*)


LG Forum

Antworten