我想知道,为什么每次运行任何应用程序时都会
显示以下消息.
12-11 17:18:37.141:D / dalvikvm(3155):GC_CONCURRENT释放485K,9%免费6696K / 7303K,暂停9ms 335ms
暂停9ms 335ms由于这个暂停我应该播放的音频丢失,因为根据我的代码它每40ms接收音频数据,所以这里暂停9ms 335ms这是数据丢失的10倍
我知道它执行某种垃圾收集,但我的问题是为什么它经常出现在logcat中.
感谢任何帮助!!!!!!
Java使用
垃圾收集
功能,以防止您通过
删除不再被任何类引用且不能从
代码访问的对象而脱离内存.
如果您有太多的这些对象,您将获得GC呼叫,这可能会在某些时候影响您的性能.另一方面,一直引用的对象可能会阻止GC被调用(内存泄漏),并且您的内存可能会填满,并且您会收到OutOfMemoryException.
您的目标不是消除GC,而是在延迟敏感并在UI线程上运行(如onDraw(),getView(),…)的方法中尽可能多地减少它们.