SORU
12 ŞUBAT 2011, CUMARTESİ


Ne GC_FOR_MALLOC, GC_EXPLİCİT ve GC_* diğer Android Logcat demek?

Eğer Android günlükleri görürseniz, bu bir çok şey görebilirsiniz.

Ne demek istediler, o bilmek, bizi daha iyi bellek ayırmalarını yapmak yardımcı olabilir.

Örnek:

 28470               dalvikvm  D  GC_FOR_MALLOC freed 665 objects / 239992 bytes in 71ms
 28470               dalvikvm  D  GC_FOR_MALLOC freed 673 objects / 240288 bytes in 87ms
 21940               dalvikvm  D  GC_EXPLICIT freed 4802 objects / 185320 bytes in 78ms
 28470               dalvikvm  D  GC_FOR_MALLOC freed 666 objects / 240536 bytes in 63ms

CEVAP
12 ŞUBAT 2011, CUMARTESİ


GC_FOR_MALLOCataması GC yeterli bellek yığını üzerinde kalmadı çünkü tetiklediği anlamına gelir. Yeni nesneler yaratma konusunda tetiklemiş olabilir.

GC_EXPLİCİTyığın yüksek su işaretleri ile harekete yerine toplamak için çöp toplayıcı açıkça istendi anlamına gelir. Her yerde olur, ama büyük olasılıkla bir konu öldürülüyor ya da bağlayıcı bir iletişim kaldırıldığında.

De birkaç kişi vardır:

GC_CONCURRENTYığın nesnelerin belirli bir miktarda toplamak için geldiğinde tetiklenir.

GC_EXTERNAL_ALLOCbu VM bellek miktarını azaltmak için çalışıyor anlamına gelir daha fazla yer açmak için koleksiyon nesneleri için kullanılan olmayan bir koleksiyon.

Güncelleme:A-adı değiştir Android sürümlerinde ilk olay olmuştur. Şimdi deniyor "". GC_FOR_ALLOC Ayrıca yeni bir olay mevcut, modern telefon çok nadir olsa da var: GC_BEFORE_OOMsistem çok düşük bellek üzerinde çalışan, ve son bir GC var demektir düşük bellek katil demeyi engellemek için yapılır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EvilControllers

    EvilControll

    20 Ocak 2008
  • nigahiga

    nigahiga

    21 Temmuz 2006
  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013