2011-05-20 17 views
8

Uygulamamın iPad simülatöründe arka plan durumundayken, görünüm denetleyicilerinin didReceiveMemoryWarning yöntemlerini almıyor olduğunu farkettim. Daha spesifik olarak, günlüklerimde applicationDidEnterBackground aramasını görüyorum, sonra "Simüle Bellek Uyarısı" düğmesine basıyorum ve daha sonra herhangi bir didReceiveMemoryWarning çağrıları tuhaf bir eksiklik dikkat edin.Uygulama arka planda çalışma yapılmadığındaReceiveMemoryWarning

Ancak, uygulamayı yeniden ön plana getirdiğimde, aniden, sanki sıraya alınmış gibi, didReceiveMemoryWarning numaralı çağrıyı aldım.

Burada kafamın karıştığı şey, uygulamamın arka planda olması veya askıda kalması. Simülatörde anlatmanın bir yolu var mı?

Ayrıca, henüz askıya alınmamışsa ve gerçekten arka planda ise, o zaman aptalca didReceiveMemoryWarning işleyemiyorum. Çünkü bu, önalan uygulamasının, alanı boşaltmak için yalnızca bellekte yer alan uyarıları işleyebildiği anlamına gelir. Bu, ön plan uygulamasının muhtemelen düzinelerce çalışan uygulamadan yalnızca biri olabileceği göz önüne alındığında gariptir. Hepsi hafızayı boşaltabilir.

Her neyse, asıl sorular şunlardır: neden arka planda didReceiveMemoryWarning almıyorsunuz? Ayrıca, gerçekten askıdayım mı? Ve nasıl anlarım?

cevap

8

Arka plan görevi başlatmadıysanız veya arka planda VOIP, konum izleme veya ses yapmadıysanız, uygulamanız applicationDidEnterBackground uygulamasından sonra askıya alınır. Herhangi bir bildirim almayacak. Herhangi bir bildirim (uygulama askıya alındıktan sonra gerçekleşenler bile) etrafında saklanır ve uygulama tekrar ön plana gittiğinde uygulamaya gönderilir.

+0

+1, ancak resmi bir kaynağa bir link güzel olurdu ... –

+0

Lütfen kaynak ekleyin. Kişisel deneyimlerimde durum böyle değil ve arka planda bellek uyarıları görüldü. – prolfe

0

Bu böyle olduğunu düşünmüyorum. Arka planda iken didReceiveMemoryWarning koduna erişebiliyorum. Sistem iyi bir vatandaşdan daha düşük bellek sinyali oluşturduğunda, belleği serbest bırakmalıyız. Bu ayrıca, uygulamanızın sistem tarafından sonlandırılmasına yardımcı olur.

İlgili konular