SORU
12 Aralık 2011, PAZARTESİ


Bir Parça zaman yerine geri koymak (ya da çıkarılmış) bellekte kalması yığını mı?

Bu davranış, Faaliyetleri benzer iş mi? O inşaat Faaliyetleri ile örneğin: bunun gibi

Bir AktivitebaşlarEtkinlik BikenBekranda, sistem kaldırabilirBirEğer sistem tarafından gerekli olduğu durumlarda bellekten. TEKRAR basıldığındaBireğer hiç sol. olarak belleğe oluşturulur

Bellek Parçaları ile bilge ne olacağını net bir açıklama için baktı ve bir şey bulamadı. Aynı şekilde çalışır? Örneğin:

Etkinlik CvardırParça Fkendi düzeni içinde. Sonra, bir noktadaFtarafından değiştirilirParça GamaFonun geri yığın halinde duruyordu.

Fbu kadar bellekte kalacakCöldürülür veya gerektiğinde sistem tarafından uzaklaştırılır?

Soruyorum gerçekten bir geri tek bir aktivitede karışık Parçaları yığını varsa veya bellek çalışan riskim var mi?

CEVAP
9 ŞUBAT 2012, PERŞEMBE


Şuna bir göz atın: BackStackRecord.Op.fragment

Bu parçaları geri yığın içinde depolanır. Not live başvurusu, ne WeakReference ne SoftReference * * * * kullanılır.

Şimdi bu: FragmentManagerImpl.mBackStack

Bu yığın geri depolar. Basit ArrayList, ayrıca, Microsoft, ya da SRs.

Ve son olarak bu: Activity.mFragments

Bu bölümü yöneticisi için başvuru.

GC sadece canlı kaynaklar (herhangi bir iş parçacığı tarafından erişilebilir değil) olan nesneleri toplayabilir. Anlamına gelirAktivite yok edilinceye kadar(ve böylece, FragmentManager referans gitmiş)GC geri yığını parçalarla toplamak mümkün olmayacaktır.

Unutmayın faaliyettir yok ve retains state (açmak istediğin zaman cihaz için peyzaj modu), değil korumak gerçek Fragment nesneler yığını, onların tek Birleşik Devletleri - Fragment.FragmentState nesneler, yani gerçek halinde geri stack yeniden her zaman aktivitesi alır yeniden birlikte muhafaza durumu.

Bu yardımcı olur umarım.

PSYani, Kısacası:Evet, Fragments yığın geri ekleyerek bellek yetersiz çalıştırabilirsinizolarak görüntülemek için çok fazla görüş ekleyerek hiyerarşi.

UDPÖrnek göz önüne alındığında,Fkadar bellekte kalırCöldürüldü. EğerCöldürdü ve daha sonra farklı bir yapılandırma ile tekrar hayata dönecektirFyok olacak ve farklı bir nesne olarak reenkarne. YaniF's bellek ayak izi kadarCdevlet kaybeder veya yığın temizlenir geri.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Moodle

    Moodle

    11 Mayıs 2010
  • Shaollin Animes

    Shaollin Ani

    19 HAZİRAN 2013
  • Simon Hayter

    Simon Hayter

    20 HAZİRAN 2010