ho un'applicazione sul mercato Android, in cui eccezioni e errori vengono catturati e inviati a me da acra.errore di memoria insufficiente, errore della mia app?
Ma ricevo un sacco di errori di memoria .. in diversi tipi di classi ... un po 'la mia app, un po' di java generale ..
significa sempre che c'è un problema nella mia app, o può anche essere il telefono a corto di memoria a causa di un altro processo?
Gli utenti riceveranno anche una finestra di dialogo fc?
Informazioni aggiuntive
Non c'è nulla di memoria intensite nella mia app ..
senza immagini ... non grandi quantità di dati .. solo un semplice view..and più intensa una Mobclix annuncio ..
sono nuovo di java ... quindi potrei avere una perdita da qualche parte..ma faccio fatica a fare il debug. Ma a questo punto non sono nemmeno sicuro che ci sia qualcosa di sbagliato ...
ottengo circa 25 -50 errori OOM giornalieri..ma rispetto a 60.000 annunci mostra un giorno. (mostro solo 1 o 2 annunci per ogni volta che viene avviato) che non è troppo.
1 ricevono errori come:
"java.lang.OutOfMemoryError
at org.apache.http.impl.io.AbstractSessionInputBuffer.init(AbstractSessionInputBuffer.java:79)
at org.apache.http.impl.io.SocketInputBuffer.<init>(SocketInputBuffer.java:93)
at android.net.http.AndroidHttpClientConnection.bind(AndroidHttpClientConnection.java:114)
at android.net.http.HttpConnection.openConnection(HttpConnection.java:61)
at android.net.http.Connection.openHttpConnection(Connection.java:378)
at android.net.http.Connection.processRequests(Connection.java:237)
at android.net.http.ConnectionThread.run(ConnectionThread.java:125)
"
"java.lang.OutOfMemoryError
at java.io.BufferedReader.<init>(BufferedReader.java:102)
at com.mobclix.android.sdk.Mobclix$FetchResponseThread.run(Mobclix.java:1422)
at com.mobclix.android.sdk.MobclixAdView$FetchAdResponseThread.run(MobclixAdView.java:390)
at java.util.Timer$TimerImpl.run(Timer.java:290)
"
"java.lang.OutOfMemoryError
at org.apache.http.util.ByteArrayBuffer.<init>(ByteArrayBuffer.java:53)
at org.apache.http.impl.io.AbstractSessionOutputBuffer.init(AbstractSessionOutputBuffer.java:77)
at org.apache.http.impl.io.SocketOutputBuffer.<init>(SocketOutputBuffer.java:76)
at android.net.http.AndroidHttpClientConnection.bind(AndroidHttpClientConnection.java:115)
at android.net.http.HttpConnection.openConnection(HttpConnection.java:61)
at android.net.http.Connection.openHttpConnection(Connection.java:378)
at android.net.http.Connection.processRequests(Connection.java:237)
at android.net.http.ConnectionThread.run(ConnectionThread.java:125)
"
Quindi la principale is..am domanda che perde da qualche parte .. o can questo è da considerarsi normale perché in una piccola percentuale dei casi il telefono potrebbe avere esaurito la memoria a causa di altre applicazioni in esecuzione su di esso.
È la possibilità che l'applicazione richieda molta memoria? O come http://developer.android.com/resources/articles/avoiding-memory-leaks.html ha detto che il contesto è trapelato in qualche modo? – xandy
Questo è probabilmente lo stesso problema discusso (e corretto!) In http://stackoverflow.com/questions/5358014/android-httpclient-oom-on-4g-lte-htc-thunderbolt –
@ link di xandy è morto. Ecco [uno dal vivo] (http://android-developers.blogspot.ru/2009/01/avoiding-memory-leaks.html) –