Adding a problem description to the author
We retrieve 8 relatively small objects, each of which has one to four children, which are tiny:
Here, the example stack after the response was returned from the server, for more than a minute it is in the org.json or com.google.web.bindery package, and we have a high level of processor utilization:
java.lang.AbstractStringBuilder append0 AbstractStringBuilder.java 143 false java.lang.StringBuilder append StringBuilder.java 125 false org.json.JSONStringer string JSONStringer.java 344 false org.json.JSONStringer value JSONStringer.java 252 false org.json.JSONObject quote JSONObject.java 713 false com.google.web.bindery.autobean.shared.impl.StringQuoter quote StringQuoter.java 69 false com.google.web.bindery.autobean.shared.impl.StringQuoter create StringQuoter.java 50 false com.google.web.bindery.autobean.shared.ValueCodex$Type$13 encode ValueCodex.java 193 false com.google.web.bindery.autobean.shared.ValueCodex encode ValueCodex.java 315 false com.google.web.bindery.autobean.shared.impl.AutoBeanCodexImpl$ValueCoder extractSplittable AutoBeanCodexImpl.java 500 false com.google.web.bindery.autobean.shared.impl.AbstractAutoBean setProperty AbstractAutoBean.java 277 false com.google.web.bindery.autobean.vm.impl.ProxyAutoBean setProperty ProxyAutoBean.java 253 false com.google.web.bindery.autobean.vm.impl.BeanPropertyContext set BeanPropertyContext.java 44 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$3 visitValueProperty AbstractRequestContext.java 910 false com.google.web.bindery.autobean.vm.impl.ProxyAutoBean traverseProperties ProxyAutoBean.java 289 false com.google.web.bindery.autobean.shared.impl.AbstractAutoBean traverse AbstractAutoBean.java 166 false com.google.web.bindery.autobean.shared.impl.AbstractAutoBean accept AbstractAutoBean.java 101 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext processReturnOperation AbstractRequestContext.java 879 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext processReturnOperations AbstractRequestContext.java 1215 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext access$600 AbstractRequestContext.java 76 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect processPayload AbstractRequestContext.java 347 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$5 onTransportSuccess AbstractRequestContext.java 1108 false com.whichfestival.AndroidRequestTransport send AndroidRequestTransport.java 68 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext doFire AbstractRequestContext.java 1102 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext fire AbstractRequestContext.java 569 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequest fire AbstractRequest.java 54 false com.google.web.bindery.requestfactory.shared.impl.AbstractRequest fire AbstractRequest.java 59 false com.whichfestival.FetchTopService getEvents FetchTopService.java 99 false com.whichfestival.FetchTopService onHandleIntent FetchTopService.java 56 false android.app.IntentService$ServiceHandler handleMessage IntentService.java 59 false android.os.Handler dispatchMessage Handler.java 99 false android.os.Looper loop Looper.java 130 false android.os.HandlerThread run HandlerThread.java 60 false
And we see that the GC hit is about 25 times:
11-16 22:30:28.464: D/dalvikvm(416): GC_CONCURRENT freed 930K, 51% free 3321K/6727K, external 1654K/2137K, paused 15ms+10ms 11-16 22:30:33.605: D/dalvikvm(416): GC_CONCURRENT freed 515K, 49% free 3452K/6727K, external 1654K/2137K, paused 10ms+13ms 11-16 22:30:37.554: D/dalvikvm(416): GC_CONCURRENT freed 638K, 49% free 3497K/6727K, external 1654K/2137K, paused 11ms+10ms 11-16 22:30:43.424: D/dalvikvm(416): GC_CONCURRENT freed 681K, 47% free 3572K/6727K, external 1654K/2137K, paused 6ms+9ms
all in about 15 small hikes ... appreciate any help. Absolutely desperate to solve this.
source share