दिलचस्प पोस्ट
एएसपी.नेट एमवीसी में अनुरोध थ्रॉटलिंग को लागू करने का सर्वोत्तम तरीका? JQuery में टेक्स्टरेआ का मूल्य निर्धारित करें Viewpager में वर्तमान टुकड़ा उदाहरण प्राप्त करना पायथन इंटरप्रिटर का पूर्ण पथ खोजें? स्विच-स्टेटमेंटों पर अगर-दूसरे अगर-अन्य का इस्तेमाल करते हैं और इसके विपरीत फॉर्मों के बीच परस्पर क्रिया – किसी अन्य रूप से फ़ॉर्म का नियंत्रण कैसे बदल सकता है? कैसे एक रीसेट एपीआई बनाने के लिए? सी में किसी फ़ंक्शन से `स्ट्रेट` लौटें कैसे एक चर एक जावास्क्रिप्ट में पूर्णांक है की जांच करने के लिए? जावास्क्रिप्ट क्या मिलता है (वर्ष) 108? उपयोगकर्ता-निर्दिष्ट रूट निर्देशिका में उप-फ़ोल्डरों और फ़ाइलों के माध्यम से साइकिल नामित पाइप्स का उदाहरण एक पायथन वर्ग के __dict __.__ dict__ विशेषता क्या है? वेब। कॉन्फ़िग प्रोग्राम को सी # (.NET) के साथ बदलें एचटीएमएल 5 वीडियो क्लाइंट के लिए वास्तविक समय http स्ट्रीमिंग के लिए सर्वश्रेष्ठ दृष्टिकोण

IOS6 MKMapView एक टन की स्मृति का उपयोग करते हुए, एप्लिकेशन को दुर्घटनाग्रस्त होने के लिए, किसी और को यह नोटिस करता है?

क्या किसी और को, जो अपने आईओएस 6 एप में नक्शे का उपयोग कर रहा है, जो एप्लिकेशन को दुर्घटनाग्रस्त होने के समय मेमोरी चेतावनियों को प्राप्त करने के लिए बेहद उच्च स्मृति उपयोग को देख रहा है?

मैंने ऐप के माध्यम से उपकरण चलाया है और मुझे कोई लीक नहीं दिख रहा है और जब तक नक्शा दृश्य बनाया नहीं जाता है तब तक ऐप लगातार ~ 3 एमबी लाइव बाइट्स पर चलता रहता है एक बार मैप बनाया जाता है और टाईल्स डाउनलोड किए जाते हैं तो लाइव बाइट्स को ~ 13 एमबी लाइव बाइट्स तक कूदता है। तब के रूप में मैं नक्शे को चारों ओर चलाता हूं और लाइव बाइट्स जारी रखने के लिए ज़ूम इन और बाहर ज़ूम करता हूं जब तक ऐप 40 ~ 48 एमबी लाइव बाइट्स पर क्रैश नहीं होता। यह एक आईफोन 4 पर जिस तरह से है आइपॉड टच पर यह पहले भी क्रैश करता है

मैं टिप्पणियां ठीक से पुन: उपयोग कर रहा हूं और कुछ भी लीक नहीं है। क्या नए आईओएस 6 मानचित्रों के साथ यह उच्च स्मृति उपयोग देख रहा है? इसके अलावा, क्या कोई भी समाधान करता है?

वेब के समाधान से एकत्रित समाधान "IOS6 MKMapView एक टन की स्मृति का उपयोग करते हुए, एप्लिकेशन को दुर्घटनाग्रस्त होने के लिए, किसी और को यह नोटिस करता है?"

चारों ओर खेलने के लिए और विभिन्न विचारों का परीक्षण करने के बाद, इनमें से कुछ का उल्लेख किया गया था, मेरे लिए काम करने वाले अंतिम समाधान इस प्रकार थे।

  • ऐप में आवश्यक नई MKMapView के रूप में बनाने के बजाय, मैंने अपने ऐपडाइलिएट को एक mkMapView प्रॉपर्टी को जोड़ा और केवल जब आवश्यक हो तो उसे बनाया। एक बार यह बनाया गया है, यह ऐप्ड डिलीट में हमेशा के लिए रहता है और मैं उस एकल उदाहरण को पुन: उपयोग कर रहा हूं जहां हर जगह जरूरत होती है। यह सचमुच मेमोरी की मात्रा को कम करने में मदद करता है क्योंकि मैं पहले कुछ अलग एमकेमैपदृश्य का इन्स्तांत कर रहा था और दोनों बहुत जल्दी मेमोरी के माध्यम से जल रहे थे।

  • मुझे यह भी पता चला कि एक बार मेमोरी चेतावनी प्राप्त होने के बाद आईओएस 6 मैप्स बहुत अच्छी तरह से स्मृति को रिलीज़ करने का प्रबंधन करता है। हाँ, यह ज़ूमिंग और पॅनिंग के दौरान अधिक मेमोरी का उपयोग करता है, लेकिन मेमोरी चेतावनियों को उचित रूप से जवाब देना लगता है।

  • मुझे जो आखिरी चीज थी वह मेरे समग्र प्रारंभिक स्मृति पदचिह्न को कम करने पर काम कर रही थी मैंने देखा कि मैं जिस तरह से उम्मीद की तुलना में अधिक तरह से शुरू कर रहा था, जिससे भी मैं स्मृति से संबंधित प्राप्त कर रहा था, दुर्घटनाओं में योगदान दे रहा था। एक बार जब मुझे शुरुआती पदचिह्न मिले, तो मैकपैव को मैमोरी चेतावनियों के दौरान स्मृति को रिलीज करने के लिए संभाल लें, और मुझे यकीन है कि मेरे पास केवल 1 के एमकेमैपव्यू का उदाहरण है कि मैं पूरे ऐप में फिर से इस्तेमाल कर सकूं, सब कुछ ठीक चल रहा है।

मुझे यह समस्या भी हो रही है और यह मुझे पागल चला रहा है मैटेओ के पद पर आधारित एक हॉटफिक्स को समझने की कोशिश कर रहा हूं, यह वही है जो मेरे साथ आया:

 - (void)applyMapViewMemoryHotFix{ switch (self.mkMapView.mapType) { case MKMapTypeHybrid: { self.mkMapView.mapType = MKMapTypeStandard; } break; case MKMapTypeStandard: { self.mkMapView.mapType = MKMapTypeHybrid; } break; default: break; } [self.mkMapView removeFromSuperview]; self.mkMapView = nil; } 

मुझे यकीन है कि क्यों नहीं, लेकिन पर्यवेक्षण से निकाले जाने का संयोजन और फिर शून्य पर सेट करना वास्तव में मेमोरी उपयोग को कम करता है मैं नियंत्रक के दृश्य में इस पद्धति को कॉल करता हूंडीड डिस्प्लेर।

अन्य बातों की मैंने कोशिश की, लेकिन महत्वपूर्ण प्रभाव के बिना:

1) एमकैप-व्ही के आलोक इनट के आसपास ऑटोरियप्लेप्यूप बनाना

2) प्रदर्शित क्षेत्र में लगभग 84 लॉन -30 की स्थापना के रूप में मैंने सोचा था कि आर्कटिक में वेक्टर सूचना घने नहीं हो सकती है … हालांकि, मदद नहीं करता है;)

यह समस्या बहुत गंभीर है और हमारे ऐप को अस्थिर करने का कारण बनता है और आईओएस 6 में स्मृति चेतावनियों का कारण बनता है। निश्चित रूप से आशा है कि ऐप्पल मेरी तुलना में बेहतर हॉटफिक्स जारी करता है … जल्द ही !!

कृपया मेरी हॉटफ़िक्स को आलोचना करें और नक्शे को छोड़ते समय मेमोरी उपयोग में कटौती करने के लिए अधिक प्रभावी तरीके से आओ। धन्यवाद!

मुझे एक ही समस्या का अनुभव है

ज़ूम और स्थान बदलने के बाद मेमोरी कभी रिलीज़ नहीं की जाती।

मैंने पाया है कि केवल चाल मेमोरी चेतावनी के बाद मानचित्र प्रकार को बदलना है

यह समस्या अब भी आईओएस 9 में मौजूद है – जब तक आप ऐसा नहीं करते।

एक दृश्य नियंत्रक के साथ एक दृश्य नियंत्रक से और एक कहानी बोर्ड में स्थापित किया गया है जो लगभग 10-15 शो के बाद एक दुर्घटना (मेरे लिए) का कारण बनता है और चक्र को खारिज करता है

अब यह ठीक दिखता है ठीक सरल है इसे जोड़ना

 override func viewDidDisappear(animated: Bool) { super.viewDidDisappear(animated) mapView.removeFromSuperview() } 

इस समस्या को हल करने के लिए लगता है, 20 से अधिक बार से चक्र कर सकते हैं, और कोई समस्या नहीं है। दुर्घटना नहीं!!

उम्मीद है की यह मदद करेगा। यह एक निराशाजनक समस्या थी और खुशी हुई इसकी हल।

मेरा पदचिह्न था: 2.48; 19.51; 49.64; 12.60, जो है: नक्शा लोड करने से पहले स्मृति, नक्शा लोड करने के बाद, थोड़ी मात्रा में ज़ूमिंग करने के बाद / और नक्शा जारी करने के बाद (जो काफी परेशान है, यहां तक ​​कि नक्शादृश्य जारी करने के बाद भी, मैं 10 एम वेतन वृद्धि रखता हूं और यह नहीं जाता है नीचे!)

वैसे भी, मैं अब MapView के लिए एक IBOutlet का उपयोग नहीं कर रहा हूँ, मैं उसके बजाय कोड में सब कुछ बना रहा हूँ। नया पदचिह्न अब है: 2.48; 19.48; 38.42; 12.54।

अभी भी द्वि *** नीचे डालने पर काम कर रहा है।

कोई हल नहीं, लेकिन बस एक चाल …

… नक्शा टाइप करें प्रकार => नक्शाइट रिलीज़ मेमोरी

भले ही यह परिवर्तन दूसरे अंश के लिए हो।

मुझे एक ही लग रहा है और पता नहीं कैसे इस memory को release करने के लिए, जब भी MKMapView का उपयोग नहीं किया जाता है

मैंने नियंत्रक, MKMapView , कंटेनर दृश्य जारी किया है … memory अभी भी उपयोग किया जाता है

MKMapView में पुराने MKMapView साथ इस अनुभव को याद नहीं रखें

मुझे एक ही समस्या मिल रही है –

मुझे इस बारे में पूरी तरह से यकीन नहीं है, लेकिन क्या यह हो सकता है कि नए सेप के नक्शे ऑफ़लाइन नेविगेशन को पूरा करने के लिए मानचित्र के एक विशाल क्षेत्र को पहले से लोड करते हैं?

यदि आपने नक्शे के लोड होने के बाद अपना कनेक्शन बंद कर दिया है, तो वांछित स्थान के पास कहीं न कहीं क्षेत्रों पर कोशिश करें और ज़ूम इन करें, फिर भी अभी भी बहुत कुछ विवरण उपलब्ध है।

 - (void)applyMapViewMemoryHotFix{ switch (self.mapView.mapType) { case MKMapTypeHybrid: { self.mapView.mapType = MKMapTypeStandard; } break; case MKMapTypeStandard: { self.mapView.mapType = MKMapTypeHybrid; } break; default: break; } self.mapView.mapType = MKMapTypeStandard; } -(void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated { [self applyMapViewMemoryHotFix]; } 

2014+ में उन पत्रिकाओं के लिए (iOS8 और ऊपर)

मैं इस समस्या में पुराने उपकरणों का समर्थन करने की कोशिश कर रहा आईओएस 7+ पर (512 एमबी के साथ आईपैड 2 लगता है) चल रहा हूं।

मेरा समाधान ज़ूम को अक्षम करना है क्योंकि यह सबसे अधिक स्मृति को आसानी से लेता है

  long mem = [NSProcessInfo processInfo].physicalMemory; if(mem < _memory_threshold){ self.MapView.zoomEnabled = NO; } 

मैंने मानचित्र प्रकार को बदलने, मानचित्र को हटाना, प्रतिनिधि को निजता करना, सभी ओवरले, एनोटेशन आदि को हटाने के लिए सब कुछ करने की कोशिश की है।

IOS7 पर काम करता है कि कोई भी नहीं + वास्तव में, इन फिक्स के कारण अधिकांश मेमोरी में कूद जाते हैं, क्योंकि एमकेमैपविय्यू लीक करने के लिए और कभी भी उचित तरीके से डेलोक नहीं लगता है (मैं उप-वर्गीकरण के माध्यम से सत्यापित किया है कि मुझे डेलोक हिट दिखाई दे रहा है)।

यह बेकार है, लेकिन अब तक मैंने जो कुछ किया है, वह मैक्रो फीचर (ज़ूम, स्क्रॉल, यूजर इंटरैक्शन) को अक्षम करने के साधन के रूप में स्मृति मैक्रॉप वीयू की मात्रा को सीमित करने के लिए बंद कर रहा है। इससे पुराने डिवाइसों पर बहुत कम से कम अर्ध-स्थिर होने पर मेरा ऐप बन गया है।

परिणामों के बारे में निश्चित नहीं है

जब भी देखा जाए तो कभी भी 'निल' के लिए मानचित्र सेट करते हुए मुझे ~ 250MB से ~ 50-60 एमबी तक मेमोरी उपयोग को कम करने में मदद मिली I

 -(void)viewDidDisappear:(BOOL)animated { self.map = nil; }