这是我的Thread run():
@Override public void run() { startKeepAliveTimer(); try { socket = new Socket(host,port); if (socket != null) { Log.i("ServerConnection","Server connection opened"); this.app.setConnectedToServer(true); serveRMANager.loginToServer(); } else app.setConnectedToServer(false); while (app.isConnectedToServer()) { app.getFacebookManager().refreshAccessToken(); BufferedReader in = new BufferedReader(new InputStreamReader( socket.geTinputStream())); String input; input = in.readLine(); if (input != null) { lastOnline = System.currentTimeMillis(); input = input.trim(); input = app.decrypt(input); Log.e("Server Reponse",input); serveRMANager.processData(app.convertToJSONObject(input)); } } } catch (IOException E) { Log.e("ServerConnection",e.toString()); } Log.i("ServerConnection","Server connection closed"); }
这是我的StackTrace:
paused 8ms 11-09 15:42:36.862: D/dalvikvm(3806): GC_CONCURRENT freed 1367K,33% free 10661K/15815K,paused 1ms+2ms 11-09 15:42:36.892: D/dalvikvm(3806): GC_CONCURRENT freed 1390K,paused 1ms+1ms 11-09 15:42:36.902: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,33% free 10637K/15815K,paused 9ms 11-09 15:42:36.932: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:36.952: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:36.972: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,33% free 10652K/15815K,paused 1ms+1ms 11-09 15:42:36.992: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 12ms 11-09 15:42:37.022: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 2ms+1ms 11-09 15:42:37.032: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.052: D/dalvikvm(3806): GC_CONCURRENT freed 8K,33% free 10644K/15815K,paused 1ms+1ms 11-09 15:42:37.072: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,33% free 10629K/15815K,paused 9ms 11-09 15:42:37.092: D/dalvikvm(3806): GC_CONCURRENT freed 1245K,paused 1ms+0ms 11-09 15:42:37.112: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.132: D/dalvikvm(3806): GC_CONCURRENT freed 8K,paused 1ms+1ms 11-09 15:42:37.152: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,paused 9ms 11-09 15:42:37.182: D/dalvikvm(3806): GC_CONCURRENT freed 1245K,25% free 12018K/15815K,paused 1ms+1ms 11-09 15:42:37.212: D/dalvikvm(3806): GC_CONCURRENT freed 3208K,33% free 10664K/15815K,paused 1ms+0ms 11-09 15:42:37.232: D/dalvikvm(3806): GC_FOR_ALLOC freed 1426K,paused 11ms 11-09 15:42:37.252: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+0ms 11-09 15:42:37.272: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:37.302: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 3ms+0ms 11-09 15:42:37.312: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:37.332: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+0ms 11-09 15:42:37.362: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 7ms 11-09 15:42:37.402: D/dalvikvm(3806): GC_CONCURRENT freed 1360K,33% free 10667K/15815K,paused 1ms+1ms 11-09 15:42:37.432: D/dalvikvm(3806): GC_CONCURRENT freed 1299K,paused 1ms+1ms 11-09 15:42:37.452: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 13ms 11-09 15:42:37.472: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:37.492: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 12ms 11-09 15:42:37.512: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+0ms 11-09 15:42:37.532: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.552: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:37.572: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.622: D/dalvikvm(3806): GC_CONCURRENT freed 1266K,32% free 10761K/15815K,paused 1ms+1ms 11-09 15:42:37.642: D/dalvikvm(3806): GC_FOR_ALLOC freed 1562K,paused 13ms 11-09 15:42:37.672: D/dalvikvm(3806): GC_CONCURRENT freed 1367K,33% free 10653K/15815K,paused 1ms+1ms 11-09 15:42:37.692: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:37.712: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:37.722: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.752: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,32% free 10758K/15815K,paused 2ms+1ms 11-09 15:42:37.762: D/dalvikvm(3806): GC_FOR_ALLOC freed 1559K,paused 11ms 11-09 15:42:37.792: D/dalvikvm(3806): GC_CONCURRENT freed 1367K,paused 2ms+1ms 11-09 15:42:37.812: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:37.832: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:37.852: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:37.872: D/dalvikvm(3806): GC_CONCURRENT freed 8K,paused 1ms+1ms 11-09 15:42:37.882: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,paused 9ms 11-09 15:42:37.912: D/dalvikvm(3806): GC_CONCURRENT freed 1245K,paused 1ms+0ms 11-09 15:42:37.932: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:37.962: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 0ms+1ms 11-09 15:42:37.972: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:38.002: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:38.012: D/dalvikvm(3806): GC_FOR_ALLOC freed 1559K,paused 12ms 11-09 15:42:38.042: D/dalvikvm(3806): GC_CONCURRENT freed 1367K,paused 1ms+1ms 11-09 15:42:38.062: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:38.092: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:38.112: D/dalvikvm(3806): GC_CONCURRENT freed 1293K,paused 1ms+0ms 11-09 15:42:38.132: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 13ms 11-09 15:42:38.162: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 2ms+1ms 11-09 15:42:38.182: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:38.202: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+0ms 11-09 15:42:38.222: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:38.242: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:38.262: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 7ms 11-09 15:42:38.272: D/dalvikvm(3806): GC_CONCURRENT freed 8K,paused 1ms+1ms 11-09 15:42:38.292: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,paused 8ms 11-09 15:42:38.322: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:38.342: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 7ms 11-09 15:42:38.362: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:38.382: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:38.402: D/dalvikvm(3806): GC_CONCURRENT freed 8K,paused 1ms+0ms 11-09 15:42:38.412: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,paused 9ms 11-09 15:42:38.442: D/dalvikvm(3806): GC_CONCURRENT freed 1245K,paused 1ms+1ms 11-09 15:42:38.462: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:38.492: D/dalvikvm(3806): GC_CONCURRENT freed 8K,25% free 12019K/15815K,paused 1ms+2ms 11-09 15:42:38.522: D/dalvikvm(3806): GC_CONCURRENT freed 3103K,32% free 10769K/15815K,paused 1ms+2ms 11-09 15:42:38.532: D/dalvikvm(3806): GC_FOR_ALLOC freed 1570K,paused 9ms 11-09 15:42:38.552: D/dalvikvm(3806): GC_CONCURRENT freed 1270K,paused 1ms+1ms 11-09 15:42:38.572: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 7ms 11-09 15:42:38.592: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:38.622: D/dalvikvm(3806): GC_CONCURRENT freed 1293K,paused 1ms+1ms 11-09 15:42:38.632: D/dalvikvm(3806): GC_FOR_ALLOC freed 1559K,paused 11ms 11-09 15:42:38.662: D/dalvikvm(3806): GC_CONCURRENT freed 1246K,paused 1ms+1ms 11-09 15:42:38.682: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 13ms 11-09 15:42:38.702: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:38.722: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:38.742: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:38.762: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:38.782: D/dalvikvm(3806): GC_CONCURRENT freed 8K,paused 1ms+1ms 11-09 15:42:38.802: D/dalvikvm(3806): GC_FOR_ALLOC freed 1406K,paused 10ms 11-09 15:42:38.822: D/dalvikvm(3806): GC_CONCURRENT freed 1245K,paused 1ms+1ms 11-09 15:42:38.842: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:38.872: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,24% free 12027K/15815K,paused 1ms+1ms 11-09 15:42:38.902: D/dalvikvm(3806): GC_CONCURRENT freed 3208K,33% free 10672K/15815K,paused 1ms+0ms 11-09 15:42:38.912: D/dalvikvm(3806): GC_FOR_ALLOC freed 1450K,paused 9ms 11-09 15:42:38.942: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:38.962: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 7ms 11-09 15:42:38.982: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.002: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:39.022: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.042: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:39.072: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:39.092: D/dalvikvm(3806): GC_CONCURRENT freed 1390K,paused 1ms+1ms 11-09 15:42:39.112: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:39.132: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms 11-09 15:42:39.152: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:39.172: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+0ms 11-09 15:42:39.192: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:39.212: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.232: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:39.252: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.272: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:39.302: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 2ms+1ms 11-09 15:42:39.322: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:39.342: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 2ms+1ms 11-09 15:42:39.362: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:39.382: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.402: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 11ms 11-09 15:42:39.432: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.442: D/dalvikvm(3806): GC_FOR_ALLOC freed 1559K,paused 11ms 11-09 15:42:39.472: D/dalvikvm(3806): GC_CONCURRENT freed 1246K,paused 1ms+1ms 11-09 15:42:39.492: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 10ms 11-09 15:42:39.522: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.532: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 8ms 11-09 15:42:39.562: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 2ms+1ms 11-09 15:42:39.572: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:39.602: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.612: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 12ms 11-09 15:42:39.642: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+1ms 11-09 15:42:39.652: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 9ms 11-09 15:42:39.682: D/dalvikvm(3806): GC_CONCURRENT freed 1269K,paused 1ms+2ms 11-09 15:42:39.692: D/dalvikvm(3806): GC_FOR_ALLOC freed 1559K,paused 10ms 11-09 15:42:39.722: D/dalvikvm(3806): GC_CONCURRENT freed 1246K,paused 1ms+1ms 11-09 15:42:39.742: D/dalvikvm(3806): GC_FOR_ALLOC freed 1414K,paused 12ms 11-09 15:42:39.762: D/dalvikvm(3806): GC_CONCURRENT freed 1366K,paused 1ms+1ms
更新:
从循环内部删除所有“新”元素之后,我使用了DDMS分配跟踪器,发现我在input = in.readLine()中有很多分配;在InputStream对象里面有一些wrap()函数……怎么会这样?怎么做
但是,在这种情况下,每秒都会释放大量内存(并且由于堆的状态保持不变(Allocated – FreE),这也意味着每秒都会分配这个内存.这会加剧电池消耗并且会导致你的应用程序滞后.
像其他人建议的那样,尝试在while之外实例化对象,而不是在每个循环中创建和删除它们.例如,将循环更改为:
BufferedReader in = new BufferedReader(new InputStreamReader( socket.geTinputStream())); while (app.isConnectedToServer()) { app.getFacebookManager().refreshAccessToken(); String input; input = in.readLine(); if (input != null) { lastOnline = System.currentTimeMillis(); input = input.trim(); input = app.decrypt(input); Log.e("Server Reponse",input); serveRMANager.processData(app.convertToJSONObject(input)); } }
以上是大佬教程为你收集整理的Android垃圾收集器在我的应用程序中努力工作全部内容,希望文章能够帮你解决Android垃圾收集器在我的应用程序中努力工作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。