GC_FOR_ALLOC freed 13270K, 39% free 15492K/25100K, paused 164ms, total 208ms
系统一直在弹出GC输出,这是正常GC还是程序内存处理不好导致频繁GC
Skipped 31 frames! The application may be doing too much work on its main thread.
系统弹出这个信息,主线程做太多事,但我仔细检查了下程序里面的逻辑,大部分都用线程封装了,大概是什么导致出现这个情况的,还有出现这个之后通过handler发送信息显示界面UI,会影响UI刷新,怎么解决
求大神!!
------解决思路----------------------
用Eclipse里面的一个插件内存分析工具 dump一下内存 看看那个地方吃内存多。
Skipped 31 frames! The application may be doing too much work on its main thread.
这个不一定是你程序的问题,只是说可能是主线程的工作太多而已。
------解决思路----------------------
我的问题找到了 是因为有一个地方for循环执行的次数太多,消耗的内存太多 所以GC
long startWhen = System.nanoTime();
long endWhen = System.nanoTime();
Log.e(TAG, "Calendar upgrade took " + ((endWhen - startWhen) / 1000000) + "ms");用这个找出时间太多的地方,在分析,方法笨点