Добавление к описанию автора проблемы
Мы извлекаем 8 относительно небольших объектов, и у каждого есть от одного до четырех дочерних объектов, которые являются крошечными:
Вот пример стека после того, как ответ был возвращен с сервера, более минуты он находится в пакете org.json или com.google.web.bindery, и у нас высокая загрузка ЦП:
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
И мы видим, что GC пинает примерно 25 раз:
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
всего за 15 маленьких понзо ... буду признателен за любую помощь. Абсолютно отчаянно пытается решить эту проблему.