2013-07-15 33 views
2

我想在android中運行websocket服務器。它在Windows中工作perfetct,但我在android中獲得堆溢出。可能是什麼原因? 在logcat的消息是在Android上檢測java中的內存泄漏

07-15 03:29:09.608: D/dalvikvm(2169): GC_CONCURRENT freed 427K, 9% free 6898K/7559K, paused 13ms+6ms 
07-15 03:29:10.668: D/dalvikvm(2169): GC_CONCURRENT freed 418K, 9% free 6898K/7559K, paused 13ms+5ms 
07-15 03:29:11.760: D/dalvikvm(2169): GC_CONCURRENT freed 418K, 9% free 6898K/7559K, paused 13ms+12ms 
07-15 03:29:12.758: D/dalvikvm(2169): GC_CONCURRENT freed 416K, 9% free 6901K/7559K, paused 8ms+8ms 
+0

gc正在開始釋放內存那些暫停時間是您在gc開始釋放內存時看到的。 13毫秒+ 6ms的。 – Raghunandan

+1

是什麼原因? –

+0

https://www.youtube.com/watch?v=_CruQY55HOk。檢查這個視頻,你會知道原因。當堆滿並且應用程序需要內存時,gc會啓動以釋放內存。 – Raghunandan

回答

1

「這是工作perfetct在窗戶,但我得到android的一個堆溢出。 「因爲這兩個設備的內存限制是不同的。

當內存即將用完時,GC會頻繁釋放momory。日誌很正常,因爲您的手機的內存比您的電腦的內存要小。