5

मैं स्मृति दबाव अधिसूचनाएं प्राप्त करने के लिए जीसीडी का उपयोग कर रहा हूं।जीसीडी से मेमोरी प्रेशर नोटिफिकेशन का जवाब कैसे दें?

GCD documentation तो जैसे कुछ स्थिरांक में बताता है:

DISPATCH_MEMORYPRESSURE_WARN

सिस्टम स्मृति दबाव की स्थिति चेतावनी चरण में है। ऐप्स को स्मृति जारी करनी चाहिए कि उन्हें अभी इसकी आवश्यकता नहीं है।

DISPATCH_MEMORYPRESSURE_CRITICAL

सिस्टम स्मृति दबाव की स्थिति महत्वपूर्ण चरण में है। ऐप्स जितना संभव हो उतना स्मृति जारी करना चाहिए।

तर्कसंगत लगता है कि मुझे अप्रयुक्त स्मृति मुक्त करनी चाहिए। हालांकि, अन्य स्थानों (man pages और source code) मैं इस नोट इन स्थिरांक से संबंधित लगता है में:

ऊंचा स्मृति दबाव सिस्टम-वाइड शर्त यह है कि आवेदन पत्र इस स्रोत के लिए पंजीकृत उनके भविष्य स्मृति बदलकर करने के लिए प्रतिक्रिया चाहिए व्यवहार का प्रयोग करें, उदाहरण के लिए नए शुरू किए गए संचालन के कैश आकार को कम करके जब तक कि स्मृति दबाव सामान्य पर वापस न आए।

हालांकि, अनुप्रयोगों पार और जब सिस्टम प्रणाली tem स्मृति दबाव में प्रवेश करती है एक ऊंचा राज्य, कि के रूप में है कि आगे आगे वहाँ सिस्टम स्मृति दबाव बढ़ जाएगा वीएम संचालन को गति प्रदान करने की संभावना है अतीत के संचालन के लिए मौजूदा कैश त्यागने नहीं करना चाहिए।

यह मुझे भ्रमित करता है। तो क्या मुझे स्मृति मुक्त करनी चाहिए, या क्या मुझे बस नई मेमोरी आवंटित करना बंद कर देना चाहिए?

उत्तर

0

मैकोज़ में वर्चुअल मेमोरी (वीएम) सिस्टम है जो बैकिंग स्टोर का उपयोग करता है: फ़ाइल सिस्टम। फ़ाइल सिस्टम का उपयोग उस स्मृति को पकड़ने के लिए किया जाता है जो वर्तमान में उपयोग में नहीं है। जब सिस्टम वास्तविक मेमोरी (रैम) पर कम चल रहा है, तो स्मृति में चीजें जिन्हें सक्रिय रूप से उपयोग नहीं किया जा रहा है डिस्क पर लिखा जा सकता है और बाद में रैम में लोड किया जा सकता है।

आईओएस में वर्चुअल मेमोरी सिस्टम है लेकिन बैकिंग स्टोर नहीं है। जब स्मृति कम हो जाती है तो सिस्टम ऐप्स को उनकी मेमोरी पदचिह्न को कम करने के लिए कहता है। अगर वह पर्याप्त स्मृति को मुक्त नहीं करता है तो सिस्टम ऐप्स को मारना शुरू कर देगा।

libdispatch शीर्षलेख से उद्धृत मार्गदर्शन मैकोज़ वर्चुअल मेमोरी सिस्टम का जिक्र कर रहा है, आईओएस नहीं।

iOS पर एक आवेदन चाहिए छोड़ें वस्तुओं जब एक स्मृति चेतावनी से निपटने और कैश आकार को कम। गंदे (गैर-शुद्ध करने योग्य) स्मृति का उपयोग कर रहे ऑब्जेक्ट्स पर विशेष ध्यान दिया जाना चाहिए। यह स्मृति है कि सिस्टम स्वचालित रूप से अपने आप पर पुन: उपयोग नहीं कर सकता है - इसे पहले एप्लिकेशन द्वारा त्याग दिया जाना चाहिए। एक विशिष्ट आईओएस अनुप्रयोग छवियों (चित्र) में सबसे गंदे स्मृति का उपयोग करें।

संबंधित मुद्दे