5

didReceiveMemoryWarning/viewDidUnload hakkında bir soru.Görüntüleme denetleyicisi gösterildiğinde didReceiveMemoryWarning/viewDidUnload çağrıldı mı?

benim uygulaması (Bir gezinti denetleyicisi veya sekme çubuğu denetleyicisi kullanmak nedeniyle, önemli değil çünkü) birçok görünüm denetleyicileri, bir tanesi gösterilir ve diğerlerini varsa, kontrolörler alacak görüntülemek hangi didReceiveMemoryWarning/viewDidUnload, hepsi sadece gizli mi, yoksa sadece mi gösteriliyor?

Gösterilen VC'nin didReceiveMemoryWarning'u alması, ancak viewDidUnload'u almaması olasıdır (çünkü gösterildiği gibi herhangi bir anlam ifade etmemektedir). UIViewController init/dealloc flow chart

Teşekkür yardım için bir sürü:

arada, bu diyagram gördükten sonra bu soruları var. Uygulama sistemi bir bellek uyarı aldığında

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application 

adlandırılır:

+0

Diyagramdan, viewDidUnload yalnızca didReceiveMemoryWarning çağrılırsa çağrılır ??? hmmm bu doğru değil – Stas

+0

Bu benim sorumun nedeni. Daha iyi bir diyagramı biliyor musun? Teşekkürler. – Ricardo

+1

Bu sorunun cevabı var gibi görünüyor: http://www.nextconceptdc.com/blog/wp-content/uploads/2011/08/UIViewControllerLifecycle.png – Ricardo

cevap

1

İlk olarak, iki yöntem didReceiveMemwarnings vardır. ve UIViewController'ın uygulama, bir bellek uyarı alır görünümü denetleyicisine Gönderilen

- (void)didReceiveMemoryWarning 

.

İkincisi, ilk olarak bu yöntemlerde (tabii ki de) kod adı verilir, daha sonra süper görünümleri olmayan denetleyicilerde (yani şu anda görüntülenmeyenler) görünüm silinir ve viewDidUnload gönderilir

0

Bir bellek uyarısı alındığında, uygulama düzeyinde alınır, tüm viewControllers ve appdelegate bunları alır. Herhangi bir veya tüm denetleyiciler için numaralı telefonun çağrılması gerekli değildir. Bu, kritik OS'nin bellek uyarısının ne kadar önemli olduğunu düşünmesine bağlıdır. İlk kez olduğu gibi - uygulamanız Level 1 uyarısını sonra Level 2 alır ve büyük olasılıkla üçüncü kez (kısa aralıklarla) OS, uygulamayı kararsız duruma geçtiğine inanarak sonlandıracaktır.

İlgili konular