दलविक और दलविक-कैश क्या है?


80

मुझे पता है कि यह एंड्रॉइड में एक मूल प्रश्न हो सकता है। लेकिन दलविक और दलविक-कैश क्या है?

जवाबों:


136

Dalvik वर्चुअल मशीन है जो Android द्वारा उपयोग की जाती है। यह आमतौर पर जावा वर्चुअल मशीन के रूप में सोचा जाता है, हालांकि यह बिल्कुल सही नहीं है। यह एक ऑब्जेक्ट मॉडल का उपयोग करता है जो जावा के समान है, और इसका मेमोरी मॉडल भी लगभग बराबर है। लेकिन dalvik VM जावा VMs के विपरीत एक रजिस्टर आधारित VM है, जो स्टैक आधारित हैं।

तदनुसार, यह जावा की तुलना में पूरी तरह से अलग बाइटकोड का उपयोग करता है। हालांकि, एंड्रॉइड एसडीके में डीएक्स टूल शामिल है जावा बाईटेकोड को दलविक बायोटेक में अनुवाद करने के लिए, यही कारण है कि आप जावा में एंड्रॉइड एप्लिकेशन लिखने में सक्षम हैं।

जब आप " dalvik-cache " कहते हैं , तो मेरा मानना ​​है कि आप / डेटा / dalvik-cache निर्देशिका का मतलब है जो कि अन्य Android उपकरणों पर पाया जा सकता है। जब आप एंड्रॉइड पर एक एप्लिकेशन इंस्टॉल करते हैं, तो यह उस एप्लिकेशन की डेक्स फाइल पर कुछ संशोधन और अनुकूलन करता है (वह फ़ाइल जिसमें एप्लिकेशन के लिए सभी dalvik बाइटकोड शामिल हैं)। यह तब / डेटा / dalvik-cache निर्देशिका में परिणामित odex ( अनुकूलित dex ) फ़ाइल को कैश करता है, ताकि किसी एप्लिकेशन को लोड करने पर उसे हर बार ऑप्टिमाइज़ेशन प्रक्रिया निष्पादित न करनी पड़े।

good reference


15
क्या होगा अगर मैं इन Dalvik कैश को हटा दूं? क्या ऐप को लोड करने में समय लगेगा, क्योंकि इसे डाल्विक कैश के पुनर्निर्माण की आवश्यकता है?
स्वानंद

16
सही बात। अगले लोड समय को बढ़ाने के अलावा कोई प्रभाव नहीं है, क्योंकि इसे फिर से बनाया गया है।
यीशुफ्रेक

जैसा कि किसी अन्य डुप्लिकेट प्रश्न पर पोस्ट किया गया है, यहाँ आपका आभारी विकी लिंक है "Dalvik कैश आपके एंड्रॉइड का एक अनिवार्य हिस्सा है। आप इसके बारे में और अधिक यहां पढ़ सकते हैं: en.wikipedia.org/wiki/Dalvik_%284%%29 "
qneill

1
Android लॉलीपॉप (संस्करण 5) में अभी भी Dalvik कैश क्यों है कि VM एआरएम है? कुछ लोगों ने मुझे बताया कि यह संगतता के लिए है, लेकिन मैंने देखा है कि यह बहुत अधिक जगह लेता है (लगभग 900 एमबी)।
एंड्रॉइड डेवलपर

3
कला डेक्स फ़ाइल को मूल कोड में संकलित करती है। यह संकलित कोड है जो अब कला के साथ दलविक-कैश में संग्रहीत है।
जीससफ्रेके

3

Dalvik java आधारित वर्चुअल मशीन है जो Android पर Android ऐप्स चलाती है। Dalvik-cache Dalvik VM के लिए कैश क्षेत्र है, यह तब बनता है जब Dalvik VM आपके ऐप को चलने के लिए अनुकूलित करता है।

यदि आप चाहते हैं, तो आप Dalvik VM op-code और एक "normal" Java VM Op-code के बीच अंतर के बारे में इंटरनेट पर देख सकते हैं।


0

Dalvik कैश कुछ भी नहीं हैं लेकिन एप्लिकेशन कोड के अस्थायी संकलन को निष्पादन योग्य के रूप में संग्रहीत किया जा रहा है। चूँकि इनको Dalvik Cache के बाहर बैठे मूल एप्लीकेशन कोड से गतिशील रूप से संकलित किया जा सकता है, आप Dalvik Cache को बिना किसी वास्तविक दंड के साफ़ कर सकते हैं।


@AndroidKiller जो कि Daltec या ART की उपस्थिति के आधार पर बाइटकोड या बाइनरी इमेज होगी। चित्रमय चित्र नहीं।
नील स्टेनर

0

Dalvik कैश अब आधुनिक Android संस्करणों का हिस्सा नहीं है; एंड्रॉइड 4.4 किटकैट इस निर्माण का उपयोग करने के लिए अंतिम था। देखें https://en.wikipedia.org/wiki/Dalvik_(software) अधिक जानकारी के लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.