2011-03-17 10 views
5

मुझे अपने ऐप के साथ अजीब प्रभाव पड़ रहा है। मैंने अपना खुद का पीडीएफ व्यूअर लागू किया। यह एक समय में एक पेज दिखाता है। इंस्ट्रूमेंट्स एक्टिविटी मॉनिटर का उपयोग करके मैं देखता हूं कि मेरी असली मेमोरी लगातार 50 एमबी पर है। पृष्ठों को दो बार पीछे और पीछे स्विच करने के बाद मुझे एक मेमोरी चेतावनी स्तर 0 प्राप्त होता है। मैं इस पर प्रतिक्रिया करने के लिए अपनी पूरी कोशिश करता हूं और कम-रेज पृष्ठभूमि छवि को त्याग देता हूं, जब तक कि कैटिल्डलेयर कैच नहीं हो जाता तब तक मैं कुछ दिखाने के लिए प्रस्तुत करता हूं। मदद नहीं करता है। कुछ पेज बाद में मुझे मेमोरी चेतावनी स्तर 1 और स्तर 2 मिलता है और कुछ और पृष्ठों के बाद मेरा ऐप "9" कारण से मारा जाता है। मेमोरी 50 एमबी से ऊपर कभी नहीं चला!मेरा ऐप क्यों हो रहा है ReceiveMemory चेतावनी और मार जाता है हालांकि स्मृति स्थिर है और पर्याप्त स्मृति उपलब्ध है?

मुझे उन चेतावनियों को पहली जगह क्यों मिलती है? पर्याप्त स्मृति उपलब्ध है।

यह आईपैड 4.3 आईओएस पर चल रहा है।

+0

क्या आपने लीक पहचान उपकरण के माध्यम से अपना ऐप चलाने का प्रयास किया है। – JeremyP

+0

नहीं, लेकिन यदि लीक थे, तो क्या उपयोग की गई स्मृति अभी जारी नहीं रहेगी? यह एक स्थिर स्तर पर बना हुआ है। इसके अलावा: लीक का पता लगाने मोनो टच के कचरे के संग्रह से निपट नहीं सकता है। :-( – Krumelur

+0

मुझे नहीं पता। शायद गतिविधि मॉनिटर प्रयुक्त स्मृति की मात्रा का गलत वर्णन करता है। शायद नहीं। आईपैड को ध्यान में रखते हुए 256 एमबी रैम है, 50 एमबी बहुत प्रतीत होता है। – JeremyP

उत्तर

2

मुझे नहीं लगता कि यहां कुछ रहस्यमय चल रहा है - जो मुझे यकीन है कि आप जो सुनना चाहते हैं वह नहीं है। उपयोग करने के लिए स्मृति की "सुरक्षित" मात्रा का कोई पूर्ण आंकड़ा नहीं है। नियम यह है: जब ओएस आपको बताता है कि आप बहुत अधिक उपयोग कर रहे हैं, तो कम उपयोग करें। यह पृष्ठभूमि प्रक्रियाओं को पहले और आपके अग्रभूमि ऐप की प्राथमिकता में रखेगा लेकिन अभी भी सीमाएं हैं।

"पुराने दिनों" में, आप 20 एमबी प्राप्त करने के लिए भाग्यशाली थे। मुझे यकीन है कि आप सुरक्षित रूप से आईपैड पर उससे अधिक प्राप्त कर सकते हैं, लेकिन जाहिर है, यह 50 एमबी से कम है।

आप यह नहीं कहते कि पृष्ठभूमि छवि को जारी करके आप कितनी मेमोरी मुक्त करते हैं, लेकिन ऐसा लगता है कि आपको कम डेटा कैशिंग करने की आवश्यकता है। आप यह सुनिश्चित करने के लिए लीक (इंस्ट्रूमेंट्स में भी) जांचना चाहेंगे कि आप उन वस्तुओं को जारी कर रहे हैं जो आप सोचते हैं।

+0

मैं सहमत हूं, यहां कोई रहस्य शामिल नहीं है। लेकिन मेरी समस्या यह है कि मैं 50 एमबी के साथ ठीक चल रहा हूं और स्मृति स्तर है स्थिर और 5 बार एक ही काम करने के बाद, अचानक मुझे चेतावनी मिलती है। मेमोरी नहीं बदली है। अगर लीक हैं, तो स्मृति की खपत अभी भी बढ़ेगी? – Krumelur

+0

हम नहीं जानते कि आईओएस कैसे तय करता है कि यह स्मृति से कम चल रहा है मेरा अनुमान है कि 50 एमबी बहुत अधिक है और आप अपनी "पांच चीजें" में कुछ कर रहे हैं, बस इसे किनारे पर धक्का देता है। –

+0

मैंने आपका जवाब बी/सी "नो मिस्ट्री" स्वीकार किया :-) वास्तव में कारण था था मैं सब कुछ जारी किया लेकिन एक UIScrollView! कभी-कभी इतना आसान लेकिन स्पॉट करना मुश्किल होता है। – Krumelur

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