मैं किसी डिवाइस पर उपकरणों का उपयोग कर रहा हूं ताकि यह पता लगाने की कोशिश की जा सके कि मेरे पास कोई स्मृति लीक या छोड़ा गया है या नहीं। विशेष रूप से मैं लीक और आवंटन का उपयोग कर रहा हूँ। जबकि उपकरण किसी भी रिसाव को इंगित नहीं करते हैं, इसका मतलब यह नहीं है कि मेरे पास स्मृति समस्याएं नहीं हैं। मैं इस पर हफ्तों तक काम कर रहा हूं, और मुझे यह पता लगाने के करीब नहीं लगता कि मेरे पास कौन से मुद्दे हैं (यूघ)।उपकरण और ढेर वृद्धि, जब विकास वास्तव में एक रिसाव है?
मैं कार्रवाई के बाद एक heapshot लेने और दोहराते हुए एक विशेष कार्य के परीक्षण कर रहा हूँ। पहली कुछ "निपटान" पीढ़ियों के बाद, मैं देख सकता हूं कि विकास और लगातार गिनती सभी एक निश्चित संख्या (कई केबी) पर शुरू होती है। कई बार दोहराए गए पुनरावृत्तियों के बाद (10-20 कहें), कुछ (सभी नहीं) धीरे-धीरे 0 तक निकलते हैं। इसमें कुछ समय लगता है, लेकिन ऐसा होता है। पीढ़ियों जहां लगातार स्मृति बनी रहती है, वास्तव में मुझे कुछ भी नहीं दिखाती है जो मुझे सहायक लगता है, क्योंकि स्टैक ट्रेस सभी सिस्टम लाइब्रेरी दिखाता है।
तो मेरी प्रश्न हैं:
- व्यवहार के इस प्रकार क्या दर्शाता है? क्या मुझे स्मृति समस्याएं हैं? क्या कहीं स्मृति की कुछ आलसी रिलीज है?
- निरंतर स्मृति दिखाने वाले पुनरावृत्तियों के समुद्र में, एक शून्य ढेर वृद्धि पुनरावृत्ति का क्या मतलब है?
- केवल प्रणाली पुस्तकालयों के लिए एक विशेष पीढ़ी अंक के लिए स्टैक ट्रेस, इसका मतलब यह होता है, तो उस पीढ़ी के लिए ढेर विकास वैध है या वहाँ एक बग है कि? या फिर भी इसका मतलब यह हो सकता है कि मेरे अंत में स्मृति पर कुछ है?
- स्टैक ट्रेस आपकी लाइब्रेरी और विधि को दिखाता है, इसका मतलब क्या है, लेकिन यह सिस्टम कोड की तरह गहरा हुआ है और इसमें थोड़ा सा घर आइकन है, आपकी लाइब्रेरी के साथ बनाम ए लाइन और विधि जो काला है और इसमें थोड़ा सा व्यक्ति है आइकन?
- यदि मेरे पास एक बनाए रखने चक्र की तरह कुछ है - लगातार विकास लगातार नहीं होगा?
अंतर्दृष्टि का कोई भी जवाब बेहद सहायक होगा!
क्या आपको यह पता चला? बहुत सारे नए नियंत्रकों को आवंटित करते समय मैं वही चीज़ देख रहा हूं। –
कुछ समय के लिए संघर्ष करने के बाद, मुझे लगा कि 20-30 पुनरावृत्तियों के बाद भी एक शून्य ढेर वृद्धि एक संकेत था कि कुछ सही था और आगे बढ़ गया। मेरे द्वारा किए गए सभी आवंटन सिस्टम पुस्तकालयों से थे, और जो स्मृति अर्जित कर रही थी वह बहुत अधिक नहीं थी। अच्छा जवाब नहीं, मुझे पता है। अगर कोई और उसमें झुक सकता है तो वह बहुत अच्छा होगा। – dragonflyesque
आपके पास कहीं सख्त लूप हो सकता है जहां चीजें पर्याप्त तेज़ी से मुक्त नहीं होती हैं। @autorelease – uchuugaka