अपने सवालों के जवाब देने के लिए:
किसी भी Android संस्करण के बारे में पता नहीं है, जहां बूट पर डाल्विक को अमान्य नहीं किया गया था। हो सकता है कि शुरुआती संस्करण 1.0 में ऐसा था, मुझे वास्तव में पता नहीं है, एक्लेयर, फ्रायो, जिंजरब्रेड, आइसक्रीम सैंडविच के माध्यम से चले गए हैं। आपको स्रोत के पेड़ को देखने और कपकेक या डोनट (क्रमशः 1.5 और 1.6) पर वापस लौटने की आवश्यकता है
विस्तृत कारण :)
कारण साफ कर लें कैश इस्तेमाल किया जाना चाहिए, क्योंकि इस प्रणाली apks सहित सभी apks, एक है डेक्स इसे करने के लिए संलग्न फाइल, जब रोम पहली बार हटा दिया गया है, Android के Dalvik प्रत्येक के माध्यम से चला जाता है और उन apks में से हर एक, और निकालने इससे डेक्स फाइल करें और इसे कैश में रखें /data/dalvik-cache
जिससे एप के निष्पादन में तेजी आए।
अधिकांश ROM में एप्स होते हैं जो कि odex 'एड होते हैं, कैश को बाहरी फाइल के रूप में एपीके में ही बंडल किया जाता है।
बहुत सारे कस्टम रोम मॉड में उन एपेक्स डीकोड होते हैं , जिसका अर्थ है डेक्स फाइल को रिप्लेस किया जाता है और एक एपीके को संशोधित करना आसान होता है।
जब आप एक कस्टम रोम फ्लैश करते हैं, और कैश नहीं मिटाते हैं, तो नए कस्टम ROM की एपीके के पास एक अलग डीएक्स फाइल जुड़ी होगी, और जब दाल्विक उनके माध्यम से जाता है, तो यह निर्देशिका में पाई गई मौजूदा कैश्ड डेक्स फाइल को देखता है, और इसे छोड़ देता है, फिर जब आप ऐप चलाते हैं, तो आपको एक बल पास या ANR (एप्लिकेशन रिस्पॉन्सिंग नहीं) की गारंटी दी जाती है।
आप प्रति डेटा खो नहीं रहे हैं, अगर ClockWorkMod रिकवरी का उपयोग कर रहे हैं, और वाइप डेटा का चयन किया गया है, तो हाँ, ऐप्स से संबंधित सभी सेटिंग्स को सफाई से मिटा दिया जाता है - अंदर देखें /data/app
।
तो आप कैश को वाइप कर सकते हैं लेकिन वाइप डेटा को नहीं , जो प्रभावी रूप से किया जाता है, उसे नए एप्स्क में जगह पर स्लेट किया जाता है, जिसमें यह सेटिंग्स को बरकरार रखा जाता है। यह CyanogenMod नाइटलाइफ़ के साथ काफी सामान्य परिदृश्य था जहां एक अस्थिर / परीक्षण रोम बिल्ड को फ्लैश किया गया था, और सेटिंग्स को कैश वाइप के साथ बरकरार रखा गया था। बाजार से डाउनलोड किए गए ऐप के आधार पर माइलेज अलग-अलग होगा (सेटिंग्स में बदलाव की संभावना काफी हद तक है)।
सर्वोत्तम परिणामों के लिए वाइप डेटा और वाइप कैश दोनों को निष्पादित करना बुद्धिमानी होगी ताकि ऐप के भीतर ही अखंडता और कोई प्रोग्राम त्रुटि न हो।
हां इसका मतलब है कि बूट समय धीमा होगा, लेकिन इसकी शुरुआत एक बार होगी। इसके बाद यह जल्दी बूट होगा। वास्तव में संक्षेप में, स्पष्ट रूप से सीडब्ल्यूएम के माध्यम से कैश को स्वयं पोंछना वास्तव में इसे गति देने में मदद करता है और पिछले संस्करण से कोई अवशेष सुनिश्चित नहीं कर सकता है जो इसमें घुलमिल सकता है (अब इस स्तर पर, आपके प्रश्न को सभी निष्पक्षता में समझ रहा है, वास्तव में नहीं है एंड्रॉइड एक नए रोम को चमकाने पर बूट पर कैश को अमान्य करने का प्रदर्शन नहीं करता है ..)
स्रोत ल्यूक का गंभीरता से उपयोग करें ! : डी
frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
प्रत्येक APK रनटाइम के लिए बूटअप कोड है। यह dalvik
डायरेक्टरी ट्री में पाए जाने वाले देशी सी कोड के साथ इंटरैक्ट करता है , जिसमें एपीके के भीतर देशी सीपीयू सेट के साथ बायटेकोड की व्याख्या करने के लिए विशिष्ट चिपसेट निर्देश हैं। ARMv6 ARMv5 का एक हैक किया गया संस्करण है (जो कि Eclair से पहले पुराने एंड्रॉइड संस्करणों में मूल चिपसेट था), इसलिए आप ARMv6 को Google से AOSP स्रोत में नहीं देखेंगे। CyanogenMod के पास उनके स्रोत में ARMv6 होगा।