लौटने के लिए एक लंबा समय ले रहा है। मैं एक सुंदर मानक क्यूटी मोबाइल ऐप (सी ++ में लिखा गया, सिम्बियन उपकरणों पर लक्षित) पर काम कर रहा हूं, और यह पता चला है कि कभी-कभी जब ऐप बंद होता है (यानी कॉल के माध्यम से QAplication :: छोड़ें), ऐप में अंतिम विनाशक को वापस करने में लंबा समय लग सकता है (30 सेकंड प्लस)। इसका मतलब है कि, विनाशक में सभी स्वच्छ संचालन पूरा हो गए हैं (जल्दी से, एक दूसरे के भीतर सभी अच्छी तरह से) और हम उस बिंदु तक पहुंच गए हैं जहां निष्पादन विनाशक को छोड़ रहा है और उस कोड पर लौट रहा है जिसे स्पष्ट रूप से कहा जाता है (यानी जब हम हटाते हैं उदेश्य)।क्यूटी सी ++ विनाशक
स्पष्ट रूप से उस बिंदु पर मैं वस्तु को हटाने के लिए कॉल के ठीक बाद तुरंत निष्पादन की अपेक्षा करता हूं, लेकिन जैसा कि मैंने कभी-कभी कहा है कि यह उम्र ले रहा है!
यह लंबा बंद समय डीबग और रिलीज बिल्ड में होता है, लॉगिंग सक्षम या अक्षम के साथ, इसलिए मुझे नहीं लगता कि यह एक कारक है। जब हम विनाशक के अंत तक पहुंच जाते हैं तो मुझे यकीन है कि कोई फ़ाइल हैंडल खुला नहीं है, या कोई अन्य खुला संसाधन (नेटवर्क कनेक्शन इत्यादि) ... हालांकि भले ही वे निश्चित रूप से यह स्वयं को एक समस्या के रूप में पेश नहीं करेंगे विनाशक से बाहर निकलना (?)।
यह एप्लिकेशन की QMainWindow ऑब्जेक्ट को हटाने पर है। वर्तमान में यह करने के लिए कॉल QAplication :: aboutToQuit से जुड़े स्लॉट में है, हालांकि मैंने उस ऑब्जेक्ट को "मुख्य" फ़ंक्शन में भी हटाने का प्रयास किया है।
हम जो विलंब अनुभव करते हैं, उससे बाहर निकलने से पहले ऐप में गतिविधि की मात्रा के अनुपात में आनुपातिक लगता है। इस तरह के मुझे लगता है कि मेमोरी लीक यहां एक समस्या हो सकती है, हालांकि हमें किसी के बारे में पता नहीं है (इसका मतलब यह नहीं है कि कोई भी नहीं है), और मैंने कभी भी इस व्यवहार को लीक के साथ कभी नहीं देखा है याद।
क्या कोई भी विचार है कि यहां क्या हो रहा है?
चीयर्स
यदि आप डीबगर का उपयोग करते हैं तो क्या आप इस समस्या का अनुभव करते हैं? क्या आप कोड की रेखा को अलग कर सकते हैं जो इतनी देर लेती है? –
हाँ मैं इसे डीबगर में भी देखता हूं। कोड के कौन से सेगमेंट बहुत लंबे समय तक लेते हैं, इस समस्या को विघटनकर्ता से लौटने के दौरान समस्या होती है। तो विनाशक में अंतिम पंक्ति निष्पादन समाप्त हो गई है, हम फिर विनाशक से बाहर निकल रहे हैं, और इस समय देरी होती है। मेरा मानना है कि क्यूटी ढांचा उस बिंदु पर कुछ कर रहा है जो देरी कर रहा है, हालांकि मुझे अभी तक पता नहीं है कि क्या। – busta83