मैं एंड्रॉइड मेमोरी पर कम होने पर और ओएस को फिर से दावा करने के लिए कदम उठाने के चरणों के बारे में असंगत दस्तावेज़ीकरण और चर्चा देख रहा हूं। अधिक विशेष रूप से, एंड्रॉइड गतिविधि/खंड, या पूरी प्रक्रिया की ग्रैन्युलरिटी पर मारता है?एंड्रॉइड मेमोरी प्रबंधन ग्रैन्युलरिटी - गतिविधि या प्रक्रिया?
उदाहरण के लिए, यदि गतिविधि बी गतिविधि ए के सामने लॉन्च किया गया है (और दोनों गतिविधियां एक ही ऐप/प्रक्रिया का हिस्सा हैं), गतिविधि ए को ओएस द्वारा मार दिया जा सकता है जबकि गतिविधि बी अग्रभूमि में है और उपयोगकर्ता है गतिविधि बी के साथ बातचीत (मान लीजिए: स्क्रीन चालू है, वर्तमान ऐप अग्रभूमि में बनी हुई है, कोई अभिविन्यास परिवर्तन नहीं होता है)?
2011 से यह SO answer (Google पर एंड्रॉइड टीम पर डियान हैकबर्न द्वारा) सुझाव देता है कि एंड्रॉइड एक प्रक्रिया की ग्रैन्युलरिटी पर मारता है, न कि गतिविधि।
Recreating an Activity पर Android डेवलपर पृष्ठों पर, यह कहते हैं:
प्रणाली भी अपनी गतिविधि को नष्ट कर सकते हैं, बशर्ते उसका बंद कर दिया है और एक लंबे समय या अग्रभूमि गतिविधि में उपयोग नहीं किया गया तो और अधिक संसाधनों की आवश्यकता है स्मृति को पुनर्प्राप्त करने के लिए सिस्टम को पृष्ठभूमि प्रक्रियाओं को बंद करना होगा।
सूचना अस्पष्टता: "प्रणाली पृष्ठभूमि प्रक्रियाओं शट डाउन चाहिए।"
onSaveInstanceState के लिए Android डेवलपर पृष्ठों पर, यह कहते हैं:
उदाहरण के लिए, यदि गतिविधि बी गतिविधि एक के सामने शुरू की है, और कुछ बिंदु गतिविधि एक में, संसाधनों को पुनः प्राप्त करने मार दिया जाता है गतिविधि एक इच्छा इस विधि के माध्यम से अपने यूजर इंटरफेस की वर्तमान स्थिति को बचाने का मौका है
इन और कई अन्य दस्तावेज़ पृष्ठों और ऑनलाइन चर्चा के माध्यम से पढ़ने के बाद, यह स्पष्ट नहीं है कि सही उत्तर क्या है।
मेरे पास टुकड़ों के बारे में भी एक ही प्रश्न है: क्या कम स्मृति के कारण पृष्ठभूमि की टुकड़ा मारे जा सकता है, इसकी पूरी प्रक्रिया के बिना?
पर "oom_adj और ऊपरी प्रक्रिया महत्व के बीच के रिश्ते" में इस का एक संक्षिप्त विश्लेषण में पाया गया। मुझे पता है कि लिनक्स में गतिविधियों की कोई अवधारणा नहीं है, लेकिन मुझे यकीन नहीं था कि क्या एंड्रॉइड व्यक्तिगत गतिविधियों को मारने की क्षमता में जोड़ा गया है। स्पष्टीकरण देने के लिए धन्यवाद! –