2011-12-07 14 views
14

Bu günlerde bir sorunum var. Bir görüntü önbellek kütüphanesi kullanıyorum, iyi çalışıyor ama sonunda bellek sorunuyla karşılaştım ve uygulama kendiliğinden çıktı (sanırım sadece hafızası bitti). Kaynak kodunu görüntü önbellek kitaplığından okuduktan sonra, bellek uyarısı olayı olduğunda, önbelleğe alınan tüm görüntülerin (görüntüler çok büyük) serbest bırakılacağını söyledik. Hafıza uyarı olayını cihaza manuel olarak ve doğrudan yollamak için var mı? Bellek kullanımını değerlendirmek için xcode enstrümanını kullanıyorum.iPhone cihazına Hafıza Uyarısı manuel olarak yollamanın bir yolu var mı?

cevap

14

el simülatörde simüle edebilirsiniz:

Hardware -> Simulate Memory Warning 

programatik olarak da taklit olabilir:

- (void)simulateMemoryWarning 
{ 
#if TARGET_IPHONE_SIMULATOR 
    #ifdef DEBUG 
    CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true); 
    #endif 
#endif 
} 

CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (CFStringRef)@"UISimulatedMemoryWarningNotification", NULL, NULL, true); 
+0

http://stackoverflow.com/questions/2784892/simulate-memory-warnings-from-the-code-possible Belgelenmemiş bir API'yi de işaretler – tapi

14

Bellek uyarı UIApplication bir özel yöntemini çağırarak üretilebilir. Bu iOS 6.1 ve

[[UIApplication sharedApplication]performSelector:@selector(_performMemoryWarning)]; 

NOT altında çalışıyor:, iTunes uygulaması göndermeden önce bu selektör çağrıyı çıkarın, aksi takdirde reddedilecektir.

+1

DONOT, uygulamayı Apple'a göndermeden önce bunu kaldırmayı unutur. test için, diğer bilge uygulamanız reddedilecektir. – Zubair

+1

Bu, iOS 7 ile Xcode 5'de hiçbir şey yapmaz – daveMac

İlgili konular