मैं एक एंड्रॉइड लॉन्चर (होम स्क्रीन प्रतिस्थापन) एप्लिकेशन विकसित कर रहा हूं और लो-मेमोरी स्थितियों में मारे गए लॉन्चर में चल रहा हूं। यह स्पष्ट रूप से महान नहीं है जब उपयोगकर्ता घर लौटाता है और इंतजार करना पड़ता है।एंड्रॉइड ऐप ओओएम (मेमोरी से बाहर) प्रक्रियाओं के लिए समायोजन प्राथमिकताओं
अपना शोध में, मैं पाया है कि एंड्रॉयड उच्चतम से न्यूनतम, कई प्राथमिकता समूहों में वर्गीकृत किया प्रक्रियाओं:
सिस्टम
लगातार
अग्रभूमि
दर्शनीय
अनुमानित
एक सेवा
होम
पिछला
बी सेवाएं
पृष्ठभूमि
आप को क्रियान्वित करते हुए जिसके तहत क्या गिरावट प्रक्रियाओं की जांच कर सकते हैं: adb shell dumpsys meminfo
सबसे व्यापक प्रलेखन मैं इस विषय पर पा सकता था: http://developer.android.com/guide/components/processes-and-threads.html#Lifecycle
हालांकि, यह ऊपर वर्णित सभी समूहों की एक स्पष्ट तस्वीर नहीं देता है। विशेष रूप से,
प्रक्रिया को "अवधारणा" कैसे/कब माना जाता है? कुछ ऐप्स (जैसे कि Go Launcher EX), ऐसा लगता है कि अग्रभूमि में नहीं होने पर इस श्रेणी में कैसे रहना है। इस तरह, यह अक्सर के रूप में मारे नहीं जाता है। वे इसे कैसे कर रहे हैं?
मुझे एडीबी शैल डंपिस गतिविधि से मिलता है जो गो लॉन्चर एक्स को अग्रभूमि सेवा माना जाता है। इस विषय पर मुझे प्राप्त एकमात्र दस्तावेज कहता है कि आपको स्टेटस बार में लगातार अधिसूचना डालना होगा। हालांकि, गो लॉन्चर एक्स किसी भी तरह से इस आवश्यकता के आसपास हो गया। मैं कैसे करने के लिए के रूप में खो रहा हूँ: - (
क्या "एक सेवा", "घर", और "बी सेवा" के बीच का अंतर है कि कैसे उस पर एक लांचर आवेदन के लिए
किसी भी अन्य सामान्य सलाह? के अनुसार एक नियमित रूप से अनुप्रयोग की तुलना में अधिक प्राथमिकता प्राप्त कर सकते हैं? मुझे लगता है कि यह एक पूरी तरह से वैध उपयोगकर्ताओं के लिए यह देखते हुए कि एक लांचर विचार किया जाना चाहिए सबसे चीजों की तुलना में अधिक प्राथमिकता (वर्तमान अग्रभूमि गतिविधि को छोड़कर) का अनुरोध है।
अच्छा सवाल! Dumpsys के लिए 1 जोड़ें। – herbertD