पर मार डाला गया है मेरे ऐप में एक थ्रेड है जो एक मिनट से अधिक समय के लिए कुछ समय लेने वाली नौकरी करता है और ऐप 6.8 एमबी मेमोरी का उपभोग करता है। मुझे कुछ समय बाद स्मृति चेतावनी मिलती है और फिर यह मारे जाती है। ऐसा कुछ भी नहीं है जिसे मैं रिलीज़ कर सकता हूं, और मैं 7 एमबी मेमोरी का भी उपयोग नहीं कर रहा हूं ... मुझे पागल कर रहा है ... कृपया कोई सलाह?मेरा आईफोन ऐप मेमोरी चेतावनी प्राप्त करता है और 6.8 एमबी
6
A
उत्तर
1
मुझे अभी भी नहीं पता कि यह क्यों हो रहा है, लेकिन अब मुझे एक कामकाज मिला है। इस नौकरी को धागे में चलाने के बजाए, अगर मैं इसे मुख्य धागे पर चलाता हूं, न तो मुझे स्मृति चेतावनी मिलती है, न कि यह मारे जाते हैं। लेकिन फिर मैं यूआई में प्रगति नहीं दिखा सकता। मैं इसे करने के लिए एनएसटीमर का उपयोग करने जा रहा हूं।
2
शायद आपकी याददाश्त सुपर-खंडित है? लीक किए गए डेटा से भरे 7 एमबी तक भी आपके ऐप को मारना नहीं चाहिए। आपके साथ खेलने के लिए कम से कम 20 एमबी होना चाहिए। फोन को रीबूट करने का प्रयास करें और देखें कि क्या इससे मदद मिलती है।
डीबगर या मेमोरी लीक टूल का उपयोग करें। http://stackoverflow.com/questions/172125/avoiding-finding-and-removing-memory-leaks-in-cocoa –
इसके अलावा, सुनिश्चित करें कि आप डिवाइस पर परीक्षण कर रहे हैं न केवल सिम्युलेटर। – rickharrison
मैं इसे डिवाइस पर चला रहा हूं; सिम्युलेटर पर मुझे स्मृति चेतावनी नहीं मिलती है जब तक कि मैं इसे अनुकरण नहीं करता। जब ऐप मर जाता है, तो gdb यह कहता है ... प्रोग्राम 0 सिग्नल 0, सिग्नल 0. से समाप्त हुआ प्रोग्राम, तो यह ओएस है जो मेरे ऐप को मार रहा है। यह केवल 7 एमबी मेमोरी ले रहा है और अभी भी ओएस इसे मार रहा है !!! डिवाइस को पुनरारंभ करने से कोई मदद नहीं मिलती है, क्या मुझे कुछ याद आ रहा है? "लीक" 6.8 एमबी मेमोरी का कोई रिसाव और लगातार उपयोग नहीं दिखाता है। – Abix