2012-01-28 9 views
12

मैं आईओएस के लिए विकास कर रहा हूं और आईपोन और आईपैड के साथ अपने ऐप की जांच कर रहा हूं।आईओएस - मुझे स्मृति चेतावनियां मिलती हैं लेकिन मुझे पता नहीं है कि क्यों

मुझे कई मेमोरी चेतावनियां मिलती हैं (didReceiveMemoryWarning कहा जाता है) लेकिन इसका कोई विचार नहीं है। मेरा ऐप शीर्ष बिंदुओं में ~ 35 एमबी का उपयोग कर रहा है, और 4-5 एमबी जब यह सबसे निचला बिंदु है।

मैंने 'यंत्र' का उपयोग करके लीक खोजने की कोशिश की लेकिन मुझे कोई महत्वपूर्ण समस्या नहीं मिली।

क्या यह पता लगाने का एक अच्छा तरीका है कि सिस्टम स्मृति चेतावनियां क्यों भेजता है?

+0

लीक्स उपकरण सबसे अच्छा उपलब्ध टूल है। क्या आपने सिम्युलेटर और डिवाइस दोनों को लीक चलाया था? – smparkes

उत्तर

24

आईओएस ऐप में मेमोरी चेतावनी की उम्मीद की जानी चाहिए। यह आपके ऐप की वजह से नहीं होना चाहिए। ऐप्स को निलंबित कर दिए जाने पर भी अन्य ऐप्स स्मृति में हैं। ओएस मेमोरी चेतावनी भेजकर स्मृति प्रबंधन करेगा और आवश्यक होने पर ऐप्स को मार देगा। जब तक आप उचित मात्रा में मेमोरी का उपयोग कर रहे हों (बिना मेमोरी रिसाव के साथ) और हैंडल किया गया ReemiveMemory Warning ठीक से, आप ठीक हो जाएगा।

इसके अलावा, जब आपका ऐप निलंबित मोड में है, यदि आपका ऐप छोटी मेमोरी पदचिह्न का उपयोग कर रहा है, तो आपका ऐप हत्या की प्रक्रिया में जीवित रहने की अधिक संभावना रखेगा। बड़े मेमोरी पदचिह्न के साथ ऐप को पहले समाप्त कर दिया जाएगा।

+0

मुझे अन्य ऐप के साथ आईफोन 5 पर अपने ऐप को डिबग करने पर "स्मृति चेतावनी प्राप्त हुई"। मैंने उन्हें एक-एक करके रोक दिया और फिर कोशिश की, कि चेतावनी संदेश चला गया था। – Donald

10

मैंने यह भी पाया कि "उत्पाद -> विश्लेषण" (Shift + Command + B) लीक का उपयोग शुरू करने से पहले कुछ कोड समस्याओं को हल करने में आपकी सहायता कर सकता है। एआरसी की शुरूआत के साथ हालांकि यह कम उपयोगी हो गया।

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