2012-11-06 9 views
11

मैं अगले मामलों में आवेदन की क्रमबद्धता \ अक्रमांकन परीक्षण की आवश्यकता:एंड्रॉयड जीसी द्वारा आवेदन की हत्या अनुकरण करने के लिए कैसे

  • एप्लिकेशन पृष्ठभूमि में समय (निष्क्रिय मोड) का एक बहुत था और जीसी द्वारा मारा गया;
  • ऐप पृष्ठभूमि में था और संसाधनों (स्मृति \ cp) की कमी के कारण जीसी द्वारा मारा गया था;

कुछ उपकरणों पर इसे 1-2 गेम लॉन्च करके अनुकरण किया जा सकता है। लेकिन 1 जीबी मेमोरी वाले क्वाड-कोर डिवाइस पर यह 4-10 भारी गेम के साथ बहुत कठिन है और इसमें बहुत समय लगता है।

मैं कहाँ संसाधनों पर लोड हो रहा है नकल कुछ डेमो लागू करने के लिए प्रयास करें:

  • बनाने बिटमैप्स सरणियों
  • बनाने सरणियों वस्तुओं
  • लांच सेवाओं का एक बहुत
  • लांच गतिविधियों का एक बहुत

लेकिन कोई परिणाम नहीं, एप्लिकेशन अभी भी काम करता है (पुराने उपकरणों पर भी) और मेरा डेमो आउटऑफमेमरीएक्स के साथ दुर्घटनाग्रस्त हो गया है धारणा।

मैं डेमो एप्लिकेशन में उच्च लोड अनुकरण कैसे कर सकता हूं?

धन्यवाद!

+4

'गतिविधियों को न रखें' सेटिंग के तहत एक डेवलपर विकल्प है जिसका उपयोग गतिविधि को नष्ट करने के लिए होता है जैसे ही उपयोगकर्ता इसे छोड़ देता है। – Ifor

+1

मुझे यह विकल्प मिला है कि मैंने अपने 4.0 एंड्रॉइड पर उल्लेख किया है लेकिन 2.3 पर मुझे लगता है कि मैंने नहीं किया (मैंने इसे अपग्रेड किया) – HericDenis

+0

@Ifor, धन्यवाद, लेकिन यह बिल्कुल अलग है। 'गतिविधियों को न रखें' के मामले में डेस्ट्रॉय पर कॉल किया जाएगा और एप्लिकेशन सामान्य रूप से बंद हो जाएगा (ऐप से सामान्य निकास की तरह)। – nister

उत्तर

2

ठीक है, "जी सी" वास्तव में के साथ दुर्व्यवहार किया जाता है "मेमोरी खूनी से बाहर" और कहा कि आवेदन पत्र को मारता है के रूप में यदि संकेत 9. जड़ें डिवाइस में से आप खोल से kill(1) आदेश या देशी पुस्तकालय से kill(2) समारोह आह्वान करने के लिए सक्षम होना चाहिए (मुझे यकीन नहीं है कि यह जावा से जुड़ा हुआ है) और जब चाहें अपने आवेदन को मार दें।

सिस्टम सामान्य रूप से 10 को Activity में कॉल करता है जब यह पृष्ठभूमि पर जा रहा है और बिना किसी चेतावनी के आवेदन को मारने और प्रतिक्रिया करने का मौका के बिना मारता है। तो यदि आप एप्लिकेशन छोड़ देते हैं और इसे मार देते हैं, तो यह ओओएम-मारे जाने का उचित सिमुलेशन है।

+0

यह सच की तरह दिखता है और मैंने वही सोचा। लेकिन यदि आप गतिविधि कॉलबैक और लॉग की जांच करते हैं तो आप बिल्कुल अलग व्यवहार देखेंगे। जब आप कार्य प्रबंधक से ऐप को मारते हैं, तो यह ऐप से सामान्य निकास (ऑनस्ट्रोय और सही परिष्करण के साथ) जैसा दिखता है। – nister

+2

@nister: जब आप इसे टास्क मैनेजर से मार देते हैं तो ऐसा हो सकता है। लेकिन सवाल यह है कि जब स्मृति की कमी के कारण आवेदन मारे जाते हैं तो क्या होता है। –

+0

जब एंड्रॉइड मेमोरी बाधा के कारण ऐप को मारता है और फिर ऐप उपयोगकर्ता द्वारा खोला जाता है, तो आखिरी गतिविधि खोली जाती है। मैन्युअल रूप से ऐप को मारते समय, केवल मुख्य गतिविधि बहाल की जाती है। –

0

Play store पर कोई मेमोरी क्लीनर इंस्टॉल करें। मैं इसे स्थापित करता हूं: easymemorycleaner

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

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