Scheint als würdest du viele neue Objekte erstellen und sie bald wegwerfen.
Für WAIT_FOR_CONCURRENT_GC siehe: Was bedeutet WAIT_FOR_CONCURRENT_GC?
Es bedeutet, dass Sie versuchen, Speicher zuzuordnen (z. B. Objekterstellung) und es nicht in den Speicher passt. Das ist, was GC_CONCURRENT freigegeben durch verursacht wird. Es ist nur übliche Müllsammlung.
Wenn Sie Leistungsprobleme haben, versuchen Sie, Objekte wiederzuverwenden oder zu verschonen.
Dies bedeutet, dass Sie zu viele Operationen ausführen und viel Speicher verwendet wird. Daher wird GC (Garbage Collector) aufgerufen, um Speicher freizugeben.
04-22 16: 21: 30.685: D / dalvikvm (967): GC_CONCURRENT befreit 1545K, 20% frei 7019K / 8720K, pausiert 78ms + 17ms, insgesamt 360ms
freed gibt an, wie viel Speicher freigegeben wurde
GC_CONCURRENT Wird aufgerufen, wenn der Heap zu groß wird, um einen Überlauf zu verhindern.
pausiert 78ms + 17ms - zeigt an, wie viel Zeit der GC benötigt hat, um die Sammlung zu beenden.
Ergänzen Sie zusätzlich den Speicherauszug und analysieren Sie das Dump-MAT-Tool.
Stimmen Sie hauptsächlich mit @luxer überein, aber ich glaube nicht, dass Sie zu viele Objekte zuweisen, sondern einige riesige Objekte zuweisen. Wenn Sie auf den Link von @luxer über WAIT_FOR_CONCURRENT_GC verweisen, werden Sie feststellen, dass ein zweiter GC in Ihrer App ausgelöst wird, während gleichzeitig ein GC (der normalerweise ausgelöst wird, wenn die Heapbelegung ein Softlimit erreicht) ausgeführt wird. Der zweite GC konnte von Ihnen explizit ausgelöst worden sein oder weil eine Zuweisung fehlgeschlagen ist. Da Sie nicht angegeben haben, dass Sie System.gc () aufrufen, würde ich davon ausgehen, dass Ihre Zuordnungen fehlschlagen und das System versucht, eine GC durchzuführen.
Also, ja, Sie sollten ernsthaft erwägen, einige riesige Objekte wiederzuverwenden, anstatt sie jedes Mal neu zuzuweisen. Dies ist eine bessere Methode, aber wenn Sie aus irgendeinem Grund nicht in der Lage sind, dies zu tun, können Sie wahrscheinlich die Größe Ihres Heapspeichers erhöhen (indem Sie einen großen Heap setzen) und das kann helfen.
Tags und Links eclipse android garbage-collection