Here is the part of logcat when it force closes becourse of the memory.
And it is pointing at:
xml = EntityUtils.toString(httpEntity, "UTF-8");

07-30 05:30:58.179: D/dalvikvm(10021): GC_CONCURRENT freed 1191K, 5% free 
30775K/32100K, paused 100ms+176ms, total 1294ms
07-30 05:30:58.179: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 601ms
07-30 05:31:05.857: I/dalvikvm-heap(10021): Clamp target GC heap from 
32.854MB to 32.000MB
07-30 05:31:05.857: D/dalvikvm(10021): GC_CONCURRENT freed 1161K, 4% free 
31468K/32764K, paused 100ms+112ms, total 1190ms
07-30 05:31:05.865: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 474ms
07-30 05:31:10.836: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.298MB to 32.000MB
07-30 05:31:10.845: D/dalvikvm(10021): GC_CONCURRENT freed 704K, 3% free 
31922K/32764K, paused 123ms+109ms, total 1191ms
07-30 05:31:10.845: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 478ms
07-30 05:31:14.015: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.551MB to 32.000MB
07-30 05:31:14.015: D/dalvikvm(10021): GC_CONCURRENT freed 457K, 2% free 
32182K/32768K, paused 4ms+109ms, total 992ms
07-30 05:31:14.015: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 584ms
07-30 05:31:16.425: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.723MB to 32.000MB
07-30 05:31:16.425: D/dalvikvm(10021): GC_CONCURRENT freed 280K, 2% free 
32358K/32768K, paused 132ms+12ms, total 1066ms
07-30 05:31:16.435: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 422ms
07-30 05:31:18.505: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.883MB to 32.000MB
07-30 05:31:18.515: D/dalvikvm(10021): GC_CONCURRENT freed 114K, 1% free 
32522K/32768K, paused 121ms+16ms, total 1201ms
07-30 05:31:18.515: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 500ms
07-30 05:31:19.335: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.867MB to 32.000MB
07-30 05:31:19.335: D/dalvikvm(10021): GC_CONCURRENT freed 58K, 1% free 
32505K/32768K, paused 103ms+111ms, total 729ms
07-30 05:31:19.347: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 618ms
07-30 05:31:19.905: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.844MB to 32.000MB
07-30 05:31:19.905: D/dalvikvm(10021): GC_FOR_ALLOC freed 36K, 1% free 
32482K/32768K, paused 554ms, total 555ms
07-30 05:31:21.115: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.933MB to 32.000MB
07-30 05:31:21.115: D/dalvikvm(10021): GC_CONCURRENT freed 62K, 1% free 
32573K/32768K, paused 97ms+111ms, total 1190ms
07-30 05:31:21.115: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 530ms
07-30 05:31:21.855: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.951MB to 32.000MB
07-30 05:31:21.855: D/dalvikvm(10021): GC_CONCURRENT freed 41K, 1% free 
32591K/32768K, paused 106ms+15ms, total 706ms
07-30 05:31:21.855: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 506ms
07-30 05:31:22.855: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.962MB to 32.000MB
07-30 05:31:22.855: D/dalvikvm(10021): GC_CONCURRENT freed 30K, 1% free 
32603K/32768K, paused 72ms+108ms, total 963ms
07-30 05:31:22.865: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 591ms
07-30 05:31:23.795: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.975MB to 32.000MB
07-30 05:31:23.795: D/dalvikvm(10021): GC_CONCURRENT freed 9K, 1% free 
32616K/32768K, paused 188ms+108ms, total 919ms
07-30 05:31:23.805: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 605ms
07-30 05:31:23.805: I/dalvikvm-heap(10021): Forcing collection of 
SoftReferences for 8208-byte allocation
07-30 05:31:24.435: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.963MB to 32.000MB
07-30 05:31:24.435: D/dalvikvm(10021): GC_BEFORE_OOM freed 14K, 1% free 
32602K/32768K, paused 635ms, total 635ms
07-30 05:31:25.335: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.971MB to 32.000MB
07-30 05:31:25.335: D/dalvikvm(10021): GC_CONCURRENT freed <1K, 1% free 
32610K/32768K, paused 78ms+134ms, total 899ms
07-30 05:31:25.345: D/dalvikvm(10021): WAIT_FOR_CONCURRENT_GC blocked 810ms
07-30 05:31:25.345: I/dalvikvm-heap(10021): Forcing collection of 
SoftReferences for 8208-byte allocation
07-30 05:31:25.965: I/dalvikvm-heap(10021): Clamp target GC heap from 
33.970MB to 32.000MB
07-30 05:31:25.965: D/dalvikvm(10021): GC_BEFORE_OOM freed <1K, 1% free 
32609K/32768K, paused 626ms, total 626ms
07-30 05:31:25.965: E/dalvikvm-heap(10021): Out of memory on a 8208-byte 
allocation.
07-30 05:31:25.975: I/dalvikvm(10021): "Thread-146" prio=5 tid=17 RUNNABLE
07-30 05:31:25.975: I/dalvikvm(10021):   | group="main" sCount=0 dsCount=0 
obj=0x40dc52e8 self=0x2a2741e0
07-30 05:31:25.975: I/dalvikvm(10021):   | sysTid=10067 nice=0 sched=0/0 
cgrp=apps handle=707210376
07-30 05:31:25.975: I/dalvikvm(10021):   | state=R schedstat=( 71547557653 
165144938167 13457 ) utm=6837 stm=317 core=0
07-30 05:31:25.975: I/dalvikvm(10021):   at 
org.apache.http.util.CharArrayBuffer.<init>(CharArrayBuffer.java:~55)
07-30 05:31:25.975: I/dalvikvm(10021):   at 
org.apache.http.util.EntityUtils.toString(EntityUtils.java:131)
07-30 05:31:25.975: I/dalvikvm(10021):   at 
com.example.androidtablayout.StringActivity$4.run(StringActivity.java:323)
07-30 05:31:26.099: W/dalvikvm(10021): threadid=17: thread exiting with 
uncaught exception (group=0x40a71930)
07-30 05:31:26.105: E/AndroidRuntime(10021): FATAL EXCEPTION: Thread-146
07-30 05:31:26.105: E/AndroidRuntime(10021): java.lang.OutOfMemoryError
07-30 05:31:26.105: E/AndroidRuntime(10021): at 
org.apache.http.util.CharArrayBuffer.<init>(CharArrayBuffer.java:55)
07-30 05:31:26.105: E/AndroidRuntime(10021): at 
org.apache.http.util.EntityUtils.toString(EntityUtils.java:131)
07-30 05:31:26.105: E/AndroidRuntime(10021): at 
com.example.androidtablayout.StringActivity$4.run(StringActivity.java:323)


Den måndagen den 29:e juli 2013 kl. 08:22:12 UTC+2 skrev Kristoffer:
>
> Hello.
> Iam having trouble with memory leak it will finaly cause the app to force 
> close.
> I have stripped down my code just to find where the problem is and i 
> located it to my httpclient.
>
> When i run this code iam geting many GC_Concurrent freed.
> if i add a Thread.sleep(1000); then i will ofcourse get less warnings but 
> my guess is that there is still some problem with the code i run.
> Is there a way i could prevent the problem.
>
> Here is the code:
>
> Thread c = new Thread() {
>         @Override
> public void run() {
>                                 String xml;
>          UsernamePasswordCredentials creds = new 
> UsernamePasswordCredentials("username", "password"); 
>          HttpGet httpGet;
>          HttpClient httpClient;
>          HttpResponse httpResponse;
>          HttpEntity httpEntity;
>          while (RunThread) {
>
>          try {
>          httpClient = HttpClientFactory.getThreadSafeClient();
>          httpGet = new HttpGet("http://ipaddress/list?format=xml";);
>          httpGet.addHeader(new BasicScheme().authenticate(creds, 
> httpGet));
>          httpResponse = httpClient.execute(httpGet);
>          httpEntity = httpResponse.getEntity();
>          xml = EntityUtils.toString(httpEntity, "UTF-8");
>          
>          
>          } catch (Exception e) { 
>          e.printStackTrace();
>          
>          } 
>             }
>     };
>     c.start();
>     } 
>
> And here is the class HttpClientFactory
>
> public class HttpClientFactory {
>
>     private static DefaultHttpClient client;
>
>     public synchronized static DefaultHttpClient getThreadSafeClient() {
>   
>         if (client != null)
>             return client;
>          
>         client = new DefaultHttpClient();
>         
>         ClientConnectionManager mgr = client.getConnectionManager();
>         
>         HttpParams params = client.getParams();
>         params.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 
> 10000);
> params.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, 10000);
>         client = new DefaultHttpClient(
>         new ThreadSafeClientConnManager(params,
>             mgr.getSchemeRegistry()), params);
>   
>         return client;
>     } 
> }
>
>
> Have a made some huge mistage in the code that is causing this issue?
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to