2014-02-17 3 views
0

Я делаю приложение, которое берет данные из службы и представляет их на графике. Приложение работает нормально, но в logcat появляется много сообщений GC_FOR_ALLOC.Уменьшить предупреждения памяти и улучшить управление памятью

В любом случае, уменьшите это сообщение? любая функция или что-то еще?

это LogCat:

02-17 17:40:37.427: D/dalvikvm(30112): GC_FOR_ALLOC freed 275K, 2% free 16994K/17300K, paused 10ms, total 10ms 
02-17 17:40:39.397: D/dalvikvm(30112): GC_FOR_ALLOC freed 516K, 4% free 16993K/17540K, paused 8ms, total 8ms 
02-17 17:40:39.987: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16993K/17540K, paused 10ms, total 10ms 
02-17 17:40:40.287: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16993K/17540K, paused 9ms, total 9ms 
02-17 17:40:40.577: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 8ms, total 8ms 
02-17 17:40:41.117: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16993K/17540K, paused 8ms, total 8ms 
02-17 17:40:42.687: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16993K/17540K, paused 9ms, total 9ms 
02-17 17:40:45.887: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16993K/17540K, paused 9ms, total 9ms 
02-17 17:40:47.187: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16993K/17540K, paused 9ms, total 10ms 
02-17 17:40:47.457: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16993K/17540K, paused 8ms, total 8ms 
02-17 17:40:47.737: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 10ms, total 10ms 
02-17 17:40:48.817: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16994K/17540K, paused 8ms, total 8ms 
02-17 17:40:49.097: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 8ms, total 8ms 
02-17 17:40:49.417: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16994K/17540K, paused 15ms, total 15ms 
02-17 17:40:49.687: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 10ms, total 10ms 
02-17 17:40:49.967: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 9ms, total 9ms 
02-17 17:40:50.237: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 9ms, total 9ms 
02-17 17:40:50.507: D/dalvikvm(30112): GC_FOR_ALLOC freed 512K, 4% free 16993K/17540K, paused 8ms, total 8ms 
02-17 17:40:50.777: D/dalvikvm(30112): GC_FOR_ALLOC freed 511K, 4% free 16994K/17540K, paused 8ms, total 8ms 
02-17 17:40:51.257: D/dalvikvm(772): GC_FOR_ALLOC freed 972K, 44% free 31389K/55540K, paused 69ms, total 69ms 

благодаря

+0

Попробуйте приведенные здесь решения: http: //stackoverflow.com/questions/20517908/why-so-many-gc-for-alloc-in-a-simple-app – AndyFaizan

ответ

0

GC_FOR_ALLOC просто означает, что не было достаточно памяти для выполнения Распределения задач и должно быть выделено через GC, следовательно, больше пространства.

Когда начинается Android, начинается с небольшой кучи, и это растет, когда приложения растут и потребляют память. Перед увеличением памяти выполняется GC_FOR_ALLOC, что является стандартным ожидаемым поведением. Это не обязательно потому, что ваше приложение потребляет слишком много памяти.

С вашего выхода на логарифм, похоже, что ничего странного не происходит. Если вы хотите отключить эти сообщения, у них есть уровень журнала DEBUG. Любой уровень журнала выше, и вы их не увидите.

Смежные вопросы