2012-12-05 16 views
7

जो मैं समझता हूं, हम स्मृति डिस्क में अक्सर एक्सेस की गई वस्तुओं को कैश करते हैं जो सामान्य डिस्क पढ़ने से अधिक आसानी से सुलभ होते हैं।एंड्रॉइड परExternalCacheDir() कैसे काम करता है?

getExternalCacheDir(), के रूप में बाहरी फाइल सिस्टम के लिए getCacheDir() अंक का विरोध किया - जो एक सामान्य getExternalFilesDir() के रूप में मुझे लगता है।

एंड्रॉइड बाहरी कैशडियर तक पहुंच को कैसे अनुकूलित करता है? क्या यह लिनक्स पर "स्वैप" स्थान की तरह कुछ है?

+0

ध्यान रखें कि आप इनमें से किसी भी विधि का उपयोग करके संग्रहीत डेटा अन्य अनुप्रयोगों के लिए पूरी तरह से पहुंच योग्य हैं जिनके पास READ_EXTERNAL_STORAGE अनुमति है। आपको यह मानना ​​चाहिए कि यहां संग्रहीत किसी भी डेटा को उपयोगकर्ता के डिवाइस पर अन्य ऐप्स द्वारा पढ़ा और संशोधित किया जा सकता है (यहां तक ​​कि संभावित रूप से दुर्भावनापूर्ण तरीके से)। अधिक सुरक्षित डेटा संग्रहण के लिए, getDir() या getCacheDir() का उपयोग करें। – Ajedi32

उत्तर

6

getExternalCacheDir() और getExternalFilesDir() दो अलग-अलग निर्देशिकाएं हैं।

अंतर यह है कि पहला व्यक्ति केवल अस्थायी फ़ाइलों या कैश फ़ाइलों के लिए है जो सिस्टम या उपयोगकर्ता (सेटिंग संबंधित बटन के माध्यम से) को स्थान प्राप्त करने के लिए हटाया जा सकता है।

दूसरा दूसरा स्थायी फ़ाइलों के लिए है। वैसे भी, आपको getExternalCacheDir() द्वारा लौटाई गई निर्देशिका के संबंध में दस्तावेज़ीकरण के विचारों को ध्यान में रखना होगा।

+0

मैं मूल रूप से जानना चाहता हूं कि बाहरी फाइल सिस्टम पर कैश तेजी से पहुंच प्रदान करता है। यह जवाब मदद नहीं कर रहा है। – SlowAndSteady

+2

शब्द कैश का उपयोग पुराने तरीके से कंप्यूटर से संबंधित अर्थों में उन विधियों में किया जाता है, यह प्रतिनिधित्व नहीं करता कि उन निर्देशिकाओं में तेजी से पहुंच प्रदान की जाती है (जैसा कि आप कह रहे हैं, यह एक ही एक्सेस सिस्टम के साथ एक ही फाइल सिस्टम है) लेकिन यह दर्शाता है कि उन निर्देशिकाओं में कुछ हद तक हैं उन फ़ाइलों को स्टोर करने के लिए छुपा और उपयोगी है जिन्हें एप्लिकेशन की आवश्यकता हो सकती है। – Jorge

+1

यदि आप इस टिप्पणी को उत्तर के रूप में रखते हैं, तो मैं इसे स्वीकार कर सकता हूं। – SlowAndSteady

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