क्या सामान्य सिस्टम व्यवहार को किसी अन्य तरीके से ट्रिगर करने का कोई तरीका है?
हमेशा परीक्षण करने का सबसे आसान तरीकाRetainTaskState गतिविधि छोड़ना और कई अनुप्रयोगों (एक के बाद एक) शुरू करना है जो स्मृति का एक टन उपयोग करते हैं। इसकी दोहराव लेकिन काफी भरोसेमंद। यदि मैं सही एप्लिकेशन चुनता हूं तो मैं लगभग 40 सेकंड के बाद अपने गैलेक्सी एस -2 पर ट्रिगर कर सकता हूं।
उस से कम, मुझे इस ध्वज का परीक्षण करने के लिए कोई अन्य प्रत्यक्ष तरीका नहीं है।
अगर मैं ध्वज एंड्रॉइड सेट करता हूं: clearTaskOnLaunch, क्या यह ऐप को फिर से लॉन्च करने पर हमेशा के रूप में एक ही चीज़ करने जा रहा है?
बिलकुल नहीं। ClearTaskOnLaunch
मूल रूप से मतलब है कि आपका ऐप रूट गतिविधि पर वापस जायेगा। आपकी गतिविधि स्टैक से अन्य सभी गतिविधियां हटा दी गई हैं। इसका अर्थ यह है कि यदि आपकी गतिविधि बाल सामग्री पर निर्भर करती है तो उसकी सामग्री वितरित करने के लिए, यह सब खो जाएगा। दूसरे शब्दों में, यह उपयोगकर्ता को आपके एप्लिकेशन के लिए गतिविधि स्टैक की आरंभिक स्थिति में वापस ले जाता है। यह की स्थिति को बनाए रखें हमेशाRetainTaskState ध्वज के आधार पर गतिविधि।
अतिरिक्त सूचना
alwaysRetainTaskState
अपने जड़ गतिविधि पर ही उपयोगी है। इसका मूल उद्देश्य इसे और अन्य सभी गतिविधियों को लंबे समय तक जीवित रखना है। कोई भी वस्तुएं उन गतिविधियों से सीधे बंधी नहीं हैं, जो प्रवाह में हैं और उन्हें त्यागने में सक्षम हैं। अक्सर, यदि alwaysRetainTaskState
काम नहीं कर रहा है, तो ऐसा इसलिए है क्योंकि आपका कोड मैन्युअल रूप से संदर्भों से छुटकारा पा रहा है (आमतौर पर onPause()
या इसी तरह की घटना के जवाब में)।
स्रोत
2012-06-10 23:53:07
आवेदन निश्चित रूप से सही शब्द नहीं है। स्मृति के कारण गतिविधि मारे गए। आवेदन तब तक जीवित रहता है जब तक कोई भी घटक जीवित न हो। इसके अतिरिक्त, आपने उपयोगकर्ता का कोड नहीं देखा है और उन धारणाएं बना रहे हैं जो आवश्यक रूप से मान्य नहीं हैं। यह व्यवहार निश्चित रूप से तब हो सकता है जब आवेदन जानकारी ऑब्जेक्टियो में कोई जानकारी न हो। अंत में, यह ओपीएस प्रश्न को किसी भी तरह से संबोधित नहीं करता है। ओपी एक झंडा का परीक्षण करना चाहता है। –