Bellek basınç bildirimleri almak için GCD kullanıyorum.GCD'den bellek basıncı bildirimlerine nasıl yanıt verilir?
GCD documentation çok gibi bazı sabitleri:
DISPATCH_MEMORYPRESSURE_WARN
sistem belleği basınç durum, kontrol aşamasındadır. Apps , şu anda ihtiyaç duymadıkları belleği serbest bırakmalıdır.
DISPATCH_MEMORYPRESSURE_CRITICAL
sistem belleği basınç durumu kritik bir aşamadadır. Apps , olabildiğince fazla bellek yayınlamalıdır.
Kullanılmayan belleği boşaltmam mantıklı görünüyor. Ancak, diğer yerlerde (man pages ve source code) Ben bu sabitleri ile ilgili şu notu bulmak içinde:
Artmış bellek baskısı bu kaynak için kayıtlı uygulamalar gelecekteki hafızayı değiştirerek tepki gereken bir sistem genelinde bir durumdur davranış kullanın, örneğin Bellek basıncı normale dönene kadar yeni başlatılan işlemlerinin önbellek boyutlarını azaltarak.
Ancak, uygulamalar çapraz ve bu ayrıca başka Ther sistem belleği basıncını ağırlaştırmak edeceğini VM operasyonlarını tetikleme olasılığı olduğu gibi sistem sistem tem bellek baskısı, yükseltilmiş bir devlet girdiğinde geçmiş işlemleri için mevcut Önbellekler atmak DEĞİL gerekir.
Bu beni şaşırtıyor. Hafızayı boşaltmalı mıyım yoksa yeni hafıza tahsis etmeli miyim?