2013-08-08 6 views
6

aktaran madde:Android'de "etkinlik kaydı nesnesi" nedir? Ben ayrıca aktivitenin yaşam döngüsünü ve bulunan ifade "etkinliği kayıt nesnesi"</p> <p>anlamak için makale aşağıdaki atıfta bulundu

etkinlik saklanmış olan

, bir Etkinlik nesne mevcut değil Ancak etkinlik kayıt nesnesi işletim sisteminde çalışır. OS, aktivitesini etkinliğini gerek duyduğunda yeniden kullanarak etkinliğini yeniden canlandırır.


onSaveInstanceState (...) çağrıldığında, veri işletim sistemi tarafından daha sonra Paketi object.That Paketi nesnesine olan kaydedilmesini etkinliğin faaliyet kaydının içine doldurulmuş

Herhangi bir kişi, "etkinlik kayıt nesnesi" ile tam olarak ne ifade edildiğini tanımlayabilir ve işletim sistemini yalnızca bir öldürme yaparak önemli miktarda bellek kaydeder mi?

cevap

10

Burada alıntı yaptığınız pasajı yazdım (bu kitap Brian Hardy ve yazdım, Android Programming: The Big Nerd Ranch Guide). Sorularınızı cevaplayabilir miyim göreyim.

"Etkinlik kaydı nesnesi" (genellikle "etkinlik kaydı" diyorum) uygulama geliştiricisi olarak görülemiyor. Bunun yerine, etkinliğinizi takip etmek için kullanıldığı Android OS'de yaşıyor. Bu nesne, kaydedilmiş durum durumunuzun saklandığı yerdir; Aktivitenizi başlangıçta başlatan niyetiniz, aldığınız etkinlik sonuçlarının teslim edilmeden önce saklandığı yerdir. Daha da önemlisi, etkinlik kaydı canlıysa, uygulamanızdaki bir Etkinlik örneğini yeniden oluşturmak için kullanılabilir.

Etkinlik kaydı nesnesinin, Etkinlik sınıfının bir örneğinden daha canlı tutulması çok daha ucuzdur. Bir Etkinlik örneğinin kendi başına birkaç megabaytlık bellek alabilen bir bütün görünüm hiyerarşisi vardır. Bunun üzerine, Etkinlik örnekleri uygulamanızın var olmasını gerektirir. Etkinlik türü kalmadıysa, Android de tüm sürecinizden kurtulabilir.

+0

Cevabınız için çok teşekkürler. Neredeyse bana açık, ama cevabınıza göre birkaç soru var, 1) 02_MVC_GeoQuiz 'de, örneğin bir TrueFalse [] mAnswerKey aktivitesine bağlı bir dizi olduğunu görebiliyorum, böylece böyle bir durum, "" aktivite kaydı nesnesine "kaydedilir veya Kayıtlı örnek durumuna açıkça eklemek için gerekli? 2) Bu bilgi için aldığınız herhangi bir referans var mı? – nish1013

+2

1- Bu statik değer sadece kodunuzda (pek çok şey gibi) yaşıyor. Ve bu tamam - en aza indirgemek Android'in aktiviteniz için sakladığı şeylerin miktarı: 2- "etkinlik kaydı" adı ve bu açıklama için bir çok ilham kaynağı Android kaynağını okumaktan geldi. Yine de Android dokümantasyonunda benzer bir açıklama bulamayacaksınız. Android dokümantasyonunun, bir etkinliğin "canlı" bir şekilde eksik olabileceği farklı yollarla ilgili açıklamalarını bulduk.) –

+0

@BillPhillips Uygulama başına bir etkinlik kaydı var mı yoksa uygulamalar bir etkinlik kaydını paylaşıyor mu? rd? – srchulo

İlgili konular