हटाने के लिए प्रोग्रामर ज़िम्मेदारी है, वर्तमान में, मेरे पास एक एप्लिकेशन है, जो एक अस्थायी स्क्रीनशॉट सहेज लेगा, और इसे फेसबुक के माध्यम से साझा करने दें। छवि बचत कोड अनुवर्ती के रूप में कम या कम है।क्या यह temp फ़ाइल
// Use external cache dir, as our image file is large (>1M)
File outputDir = this.getExternalCacheDir();
File tempFile = File.createTempFile("CHEOK", "CHEOK", outputDir);
// In Desktop's J2SE, this file will automatically be deleted, once my desktop
// application quit. However, this is not the case for Android. My guess is, JVM
// is not terminated, even our Android application had quit.
tempFile.deleteOnExit();
मुझे पता भी मैं अपने Android आवेदन (सिस्टम दबाने "वापस" बटन द्वारा) छोड़ दिया, tempfile अभी भी हम deleteOnExit
का उपयोग कर रहे है। मेरा अनुमान है कि JVM अभी तक समाप्त नहीं हुआ है।
क्या मुझे पता है, क्या यह हमारी अनुप्रयोग प्रोग्रामर ज़िम्मेदारी है, बनाई गई अस्थायी फ़ाइल को हटाने के लिए, गतिविधि के onDestroy
के दौरान? यदि नहीं, तो आम सबसे अच्छा अभ्यास क्या है?
मुझे लगता है कि एंड्रॉइड यादों को प्रबंधित करने के कारण यह ट्रिगर नहीं हुआ है, एक बैक बटन वास्तव में ऐप को मार नहीं देगा बल्कि इसे स्मृति में छोड़ देगा लेकिन सक्रिय नहीं होगा। मेरा एंड्रॉइड फोन एसडी कार्ड स्पेस हमेशा छोटा हो जाता है क्योंकि बहुत से ऐप्स किसी भी कैश/अस्थायी फ़ाइलों को नहीं हटाते हैं, मुझे यकीन नहीं है कि क्यों मुझे लगता है कि मुझे उनकी आवश्यकता नहीं होने के बाद उन्हें हटाने के लिए बेहतर है –