Odexed और deodexed ROM के बीच अंतर क्या है?


जवाबों:


39

एक .dexफ़ाइल मूल रूप से एक ऐप का संकलित बाइटेकोड संस्करण है, जिसे Dalvik VM के लिए बनाया गया है, जो Android के ऐप्स चलते हैं। मेरा मानना ​​है कि यह Dalvik Executable के लिए छोटा है, लेकिन मुझे यकीन नहीं है कि मैं इसे सही तरीके से याद कर रहा हूं।

एक .odexफ़ाइल एक अनुकूलित .dexफ़ाइल है (इसलिए 'ओ'), जिसका अर्थ है कि यह मूल रूप से एक विशिष्ट मंच के लिए पूर्व-संकलित किया गया है। इसका फायदा यह है कि स्टार्टअप का समय बहुत तेज होता है क्योंकि वीएम को स्टार्टअप / रनटाइम पर कोई अनुकूलन नहीं करना पड़ता है। नुकसान 1 हैं) कि यह कुछ अतिरिक्त स्थान लेता है और 2) एक odexed ऐप ठीक से नहीं चलेगा यदि इसे किसी अन्य डिवाइस पर रखा गया है, और इसके पास संबंधित .odexफ़ाइल होनी चाहिए ।

रोम आमतौर पर डिओडेक्स के रूप में जारी किए जाते हैं क्योंकि उन्हें थीम पर आधारित और काफी आसानी से संशोधित किया जा सकता है, जबकि एक odexed रोम को संशोधित / संशोधित करना मूल रूप से असंभव है (सर्वोत्तम चीजें पागल की तरह दुर्घटनाग्रस्त होंगी)। कुछ लोग उन लोगों के लिए odexed संस्करणों में अपनी ROM जारी करना चुनते हैं जो प्रदर्शन लाभ को पसंद करेंगे।

अधिकांश स्टॉक रॉम जो मैंने देखे हैं वे odexed हैं, मैं मानता हूं क्योंकि वाहक / निर्माता प्रदर्शन को बढ़ावा देना चाहते हैं। उनके पास किसी भी प्रकार की आधिकारिक थीमिंग विधियाँ नहीं हैं, इसलिए वे शायद इस बात की परवाह नहीं करते कि आप अपने स्टेटस आइकन या अपने सिस्टम टेक्स्ट या व्हाट्सनॉट के रंग नहीं बदल सकते। इसके अलावा उन्हें यह जानने का लाभ है कि वे किस उपकरण को चाहते हैं कि उनका सिस्टम चालू रहे, इसलिए वे .odexफाइलों को आसानी से पूर्व-संकलित कर सकते हैं, मैं कल्पना करता हूं। अतिरिक्त बोनस के रूप .apkमें, डिवाइस से फ़ाइलों को खींचना और उन्हें लोगों के साथ साझा करना मुश्किल हो जाता है।

संपादित करें: चूंकि मुझे सिर्फ यह महसूस हुआ कि मैं यहां के अंतर के बारे में बहुत स्पष्ट नहीं था - एक "odexed" रॉम वह है जहां ऐप्स को प्री-कंपाइल किया गया है, और इस तरह इसमें संबंधित .odexफाइलें हैं जो फाइलों में बाहरी हैं .apk। एक "डीओडेक्सेड" रोम वह है जहां डेटा को .odexफ़ाइलों में अनुकूलित किया जाएगा, कम या ज्यादा .apkफ़ाइलों में विलय कर दिया गया है (जिसका अर्थ है कि यह अनुकूलित नहीं है, लेकिन मूल रूप से प्लेटफॉर्म अज्ञेयवादी है), इस प्रकार .apkफाइलें स्व-निहित हैं और कोई .odexफाइलें नहीं हैं । यह आमतौर पर सिर्फ एक deodexing उपयोगिता के साथ किया जाता है, जैसे कि smali / baksmali


अंतिम संपादन, चीजों को अधिक स्पष्ट करना बहुत उपयोगी था। +1
rbrito

7

मैं व्यक्तिगत रूप से कुछ समय पहले इसका जवाब जानना चाहता था। यहां वह है जो मैंने जुटाया:

Odexed और Deodexed

एक मानक रॉम को रिलीज के लिए odexed माना जाता है जो स्मृति में ऐप्स को सुचारू और तेज़ लोडिंग प्रदान करता है। प्रत्येक .apk के पास एक .odex है। जब एप्लिकेशन को सिस्टम या उपयोगकर्ता द्वारा उपयोग किया जाता है, तो .odex का उपयोग ऐप लोड करने के लिए किया जाता है। एक ROM जो डीओडेक्स किया जाता है उसके पास केवल .apk फ़ाइल होती है। जब एप्लिकेशन को केवल .apk से डेटा खींचने से मेमोरी में बुलाया जाता है, तो सिस्टम से आसान पुनर्प्राप्ति के लिए अनुकूलित नहीं होने के कारण इसमें अधिक समय लगता है।

सामान्य प्रश्न जो मुझे अक्सर पूछे जाते हैं वे हैं:

  1. क्यों कस्टम रोम के deodexed है?
  2. क्या मुझे एक odexed या एक deodexed ROM का उपयोग करना चाहिए?

इन सवालों का जवाब देने के लिए यह एक शब्द से नीचे आता है, उपयोगिता। यदि आप किसी से भी बात करते हैं कि ROM की थीम आपको बताएगी कि एक deodexed ROM को थीम करना बेहद आसान है। चूंकि हमने डीओडेक्स रॉम का उपयोग करना शुरू कर दिया है, इसलिए थीम्स अब रॉम को थीम करने के लिए थकाऊ विकल्प के बजाय रॉम पर लागू करने के लिए थीम बना सकते हैं (थीम के लिए एक कस्टम रॉम जारी करें)। यदि आप एक odexed ROM का उपयोग करते हैं और थीम को लागू करने का प्रयास करते हैं, तो यह काम नहीं करेगा या केवल कुछ दृश्य पहलुओं को थीम करेगा, जो आपको अनुभव करने के लिए एक भयानक उपयोगकर्ता इंटरफ़ेस देगा।

डेडेक्स कॉन्स

मुझे यकीन है कि आप अब सोच रहे हैं कि ... क्यों एक कस्टम ROM डाउनलोड करने का विकल्प भी है जो odexed है? उस का जवाब गति है। याद रखें कि मैंने कैसे कहा कि odexed फाइलें आसान पुनर्प्राप्ति के लिए अनुकूलित हैं? सीधे शब्दों में कहें ... यह (डेटा तालिका अनुक्रमणिका की तरह) अनुकूलित है, ताकि सिस्टम तेजी से .apk को खोल सके।

डियोडेक्स और ज़िपलाइन

हर कोई चाहता था कि दोनों दुनिया इतनी जल्दी खत्म हो जाए, क्योंकि ट्रेंड चरम पर पहुंचने के बाद, इन प्रेमी रॉम डेवलपर्स ने बूट पर जिपलाइन करने का हल खोज लिया। यह प्रत्येक रिबूट पर प्रत्येक .apk का अनुकूलन करता है जो तब सिस्टम को अनुप्रयोगों को अधिक कुशलता से और सबसे महत्वपूर्ण रूप से तेजी से एक्सेस करने की अनुमति देता है। बेशक, नुकसान थोड़ा धीमा बूट समय है।

सारांश

यदि आपके पास कस्टम रोम odexed या deodexed डाउनलोड करने का विकल्प है, तो मैं सिर्फ deodex ROM के साथ जाऊंगा। आपको कभी नहीं पता होता है कि आप कब किसी थीम को आज़माना चाहेंगे या कुछ संशोधन खुद कर सकते हैं और एक पूरे नए रोम को चमकाने के बजाय आसान विकल्प रखना अच्छा है। नए उपकरणों के साथ आप बूट पर जिपलाइन को ध्यान देने योग्य अंतर भी नहीं देख सकते हैं। यदि आपका उपकरण बहुत धीमा और पुराना है, तो मैं इस बारे में थोड़ा कठिन सोचने का सुझाव दूंगा। मुझे यकीन है कि आप में से कुछ उपयोगकर्ता इंटरफ़ेस को बेहतर बनाने के लिए बेहतर प्रदर्शन और गति के लिए एक अच्छा न्यूनतम अनुकूलित (odexed) ROM प्राप्त करना पसंद करेंगे।

यदि आप नए विषय पर हैं, तो आप यहाँ मेरे मूल लेखन पर कुछ सामान्य शब्द पा सकते हैं: http://codeversed.com/deodexed-vs-odexed-rom

अन्यथा, उपरोक्त आपको वह सब कुछ दिखाता है जो आपको जानना चाहिए। अगर मुझे कुछ याद आया, तो कृपया मुझे बताएं :)


1

A .dex (dalvik एक्ज़ीक्यूटेबल) फ़ाइल मूल रूप से विंडोज़ '.exe फ़ाइलों के समान है (संकलित कोड के बजाय Dalvik VM की भाषा को छोड़कर)। मूल रूप से, .odex (अनुकूलित दलविक निष्पादन योग्य) और डीओडेक्स (डी-अनुकूलित दलविक निष्पादन योग्य) का संबंध इस बात से है कि अनुप्रयोगों में संसाधन फ़ाइलों को कैसे संभाला जाता है। .Odex एक .dex फ़ाइल है जिसे dexopt प्रोग्राम द्वारा अनुकूलित किया गया है: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

फायदा

  • odex तेज है
  • यह थीमिंग को आसान बनाता है

हानि

  • पहले स्टार्टअप पर डीओडेक्स धीमा है
  • .odex फाइलें थीमिंग को कठिन बनाती हैं

"डीओडेक्स" का मतलब डी-ऑप्टिमाइज़्ड .dex नहीं है, इसका मतलब है .odex फाइल्स को हटाना (संक्षेप में .odex फाइल्स को डी-ऐड करना)। eldarerathis के पास यह अधिकार है।
मत्ती

संसाधनों के बारे में odexing की जानकारी के महत्वपूर्ण टुकड़ा देने के लिए धन्यवाद! उस ने कहा: निर्गमन तुलना महान नहीं है।
पॉल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.