ROM ที่ odexed และ deodexed แตกต่างกันอย่างไร


คำตอบ:


39

.dexไฟล์พื้นรุ่น bytecode รวบรวมแอปที่ได้รับการสร้างขึ้นมาเพื่อ Dalvik VM ซึ่งปพลิเคชันของ Android ทำงานบน ฉันเชื่อว่ามันสั้นสำหรับปฏิบัติการของ Dalvik แต่ฉันไม่แน่ใจว่าฉันจำได้ถูกต้องหรือไม่

.odexไฟล์เป็น Optimized .dexไฟล์ (เพราะฉะนั้น 'O') ความหมายว่าจะได้รับโดยทั่วไปก่อนรวบรวมสำหรับแพลตฟอร์มที่เฉพาะเจาะจง ข้อดีของการทำเช่นนี้คือเวลาเริ่มต้นจะเร็วกว่ามากเนื่องจาก VM ไม่จำเป็นต้องทำการปรับให้เหมาะสมเมื่อเริ่มต้น / รันไทม์ ข้อเสียคือ 1) ต้องใช้พื้นที่เพิ่มเติมบางส่วนและ 2) แอป odexed จะไม่ทำงานอย่างถูกต้องหากวางลงในอุปกรณ์อื่นและจะต้องมี.odexไฟล์ที่เกี่ยวข้องเพื่อให้ทำงานได้เลย

โดยทั่วไปแล้ว ROMs จะถูกปล่อยออกมาในรูปแบบ deodexed เนื่องจากสามารถกำหนดธีมและปรับเปลี่ยนได้อย่างง่ายดายในขณะที่การปรับ / ROM แบบ odexed นั้นเป็นไปไม่ได้ บางคนก็เลือกที่จะปล่อย ROMs ในเวอร์ชั่น odexed สำหรับผู้ที่ต้องการประสิทธิภาพที่เพิ่มขึ้น

ROM สต็อคส่วนใหญ่ที่ฉันเคยเห็นนั้นอยู่ด้านนอกฉันคิดว่าเพราะผู้ให้บริการ / ผู้ผลิตต้องการประสิทธิภาพที่เพิ่มขึ้น พวกเขายังไม่มีวิธีการธีมอย่างเป็นทางการดังนั้นพวกเขาอาจไม่สนใจถ้าคุณไม่สามารถเปลี่ยนสีของไอคอนสถานะของคุณหรือข้อความระบบหรืออะไรก็ตาม นอกจากนี้พวกเขายังได้ประโยชน์จากการรู้ว่าอุปกรณ์ใดที่พวกเขาต้องการให้ระบบของพวกเขาทำงานดังนั้นพวกเขาจึงสามารถรวบรวม.odexไฟล์ล่วงหน้าได้อย่างง่ายดาย ในฐานะโบนัสที่เพิ่มเข้ามามันทำให้การดึง.apkไฟล์ออกจากอุปกรณ์และแบ่งปันกับคนอื่นทำได้ยาก

แก้ไข:เนื่องจากฉันเพิ่งรู้ว่าฉันไม่ได้ชัดเจนมากเกี่ยวกับความแตกต่างที่นี่ - ROM "odexed" เป็นสิ่งที่แอพได้รับการคอมไพล์ล่วงหน้าและประกอบด้วย.odexไฟล์ที่เกี่ยวข้องซึ่งอยู่ภายนอก.apkไฟล์ A "deodexed" รอมเป็นหนึ่งที่มีข้อมูลที่จะเพิ่มประสิทธิภาพใน.odexไฟล์ที่ได้รับมากหรือน้อยรวมกลับเข้ามาใน.apkไฟล์ (หมายความว่ามันไม่เหมาะ แต่โดยทั่วไปแพลตฟอร์มไม่เชื่อเรื่องพระเจ้า) จึง.apkไฟล์เป็นตัวเองและไม่มี.odexไฟล์ . นี้มักจะเป็นเพียงแค่ทำกับยูทิลิตี้ deodexing เช่นsmali / baksmali


การแก้ไขครั้งล่าสุดทำให้สิ่งต่าง ๆ ชัดเจนยิ่งขึ้นมีประโยชน์มาก +1
rbrito

7

โดยส่วนตัวฉันอยากรู้คำตอบนี้สักครู่แล้ว นี่คือสิ่งที่ฉันมาด้วย:

Odexed และ Deodexed

ROM มาตรฐานควรจะถูกวางจำหน่ายในรุ่นที่ให้การโหลดแอปพลิเคชันที่ราบรื่นและรวดเร็วขึ้นไปยังหน่วยความจำ แต่ละ. apk มี. odex ที่สอดคล้องกัน เมื่อแอปพลิเคชันถูกใช้โดยระบบหรือผู้ใช้ระบบจะใช้. odex เพื่อเริ่มการโหลดแอป ROM ที่ deodexed มีเพียงไฟล์. apk เมื่อแอปพลิเคชันถูกเรียกเข้าสู่หน่วยความจำเพียงดึงข้อมูลจากมัน. apk นี้ใช้เวลานานขึ้นเนื่องจากไม่ได้รับการปรับให้เหมาะสมเพื่อการดึงข้อมูลจากระบบได้ง่ายขึ้น

คำถามทั่วไปที่ฉันถูกถามบ่อยเกินไปคือ:

  1. เหตุใด ROM ที่กำหนดเองจึง deodexed
  2. ฉันควรใช้ ROM ที่มีออเดอร์เน็ด

ในการตอบคำถามเหล่านี้มันมีความหมายเพียงคำเดียว หากคุณพูดคุยกับใครก็ตามที่มีธีมของ ROM พวกเขาจะบอกคุณว่าเป็นเรื่องง่ายยิ่งขึ้นในการจัดรูปแบบ ROM ที่แยกจากกัน เนื่องจากเราเริ่มใช้ deodexed ROM's ตอนนี้ผู้ใช้สามารถสร้างชุดรูปแบบเพื่อใช้กับ ROM แทนที่จะเป็นตัวเลือกที่น่าเบื่อในการกำหนดธีม ROM เอง (ปล่อย ROM ที่กำหนดเองสำหรับธีม) หากคุณใช้ ROM odexed และพยายามใช้ชุดรูปแบบมันจะไม่ทำงานหรือเพียง แต่กำหนดลักษณะด้านภาพบางอย่างซึ่งจะทำให้คุณได้รับประสบการณ์ที่น่าประทับใจ

ข้อด้อยของ Deodex

ฉันพนันได้เลยว่าคุณกำลังสงสัยว่าทำไม ... ทำไมถึงมีตัวเลือกในการดาวน์โหลด ROM แบบกำหนดเองที่ odexed คำตอบก็คือความเร็ว จำได้ว่าฉันพูดว่าไฟล์ odexed ได้รับการปรับเพื่อให้ดึงได้ง่ายขึ้นหรือไม่ เพียงแค่ใส่ ... มันปรับให้เหมาะสม (เช่นการจัดทำดัชนีตารางข้อมูล) เพื่อให้ระบบสามารถเปิด. apk ได้เร็วขึ้น

Deodex และ zipalign

ทุกคนต้องการสิ่งที่ดีที่สุดของโลกทั้งสองอย่างรวดเร็วหลังจากที่แนวโน้มดีโอเด็กซ์เริ่มสูงสุดผู้พัฒนา ROM ที่ชาญฉลาดเหล่านี้เกิดขึ้นพร้อมทางออกสำหรับ zipalign ตอนบูต สิ่งนี้จะปรับให้เหมาะสมแต่ละ. apk ในทุก ๆ การรีบูตซึ่งจะทำให้ระบบสามารถเข้าถึงแอปพลิเคชันได้อย่างมีประสิทธิภาพและที่สำคัญที่สุดคือเร็วขึ้น แน่นอนข้อเสียคือเวลาบูตช้าลงเล็กน้อย

สรุป

หากคุณมีทางเลือกในการดาวน์โหลด ROM แบบกำหนดเอง odexed หรือ deodexed ฉันจะไปกับ deodex ROM คุณไม่มีทางรู้ว่าคุณต้องการลองใช้ชุดรูปแบบหรือทำการปรับเปลี่ยนด้วยตัวเองและมันก็ดีที่มีตัวเลือกที่ง่ายมากกว่าที่จะกระพริบ ROM ใหม่ทั้งหมด ด้วยอุปกรณ์ที่ใหม่กว่าคุณอาจไม่เห็นความแตกต่างที่เห็นได้ชัดเจนของ zipalign ในการบู๊ต หากอุปกรณ์ของคุณช้าและล้าสมัยดีแล้วฉันขอแนะนำให้คิดเกี่ยวกับเรื่องนี้ให้หนักขึ้นหน่อย ฉันจะเดิมพันคุณบางคนต้องการที่จะได้รับ ROM ที่ดีที่สุด (odexed) ที่ดีที่สุดเพื่อประสิทธิภาพที่ดีขึ้นและความเร็วในการปรับแต่งส่วนต่อประสานผู้ใช้

หากคุณเป็นเรื่องใหม่คุณสามารถค้นหาคำศัพท์ทั่วไปได้จากบทความต้นฉบับของฉันที่นี่: http://codeversed.com/deodexed-vs-odexed-rom

มิฉะนั้นข้อมูลด้านบนจะแสดงทุกสิ่งที่คุณจำเป็นต้องรู้ หากฉันไม่ได้รับอะไรเลยโปรดแจ้งให้เราทราบ :)


1

ไฟล์. dex (dalvik executable) นั้นคล้ายกับไฟล์. exe ของ Windows (ยกเว้นในภาษาของ Dalvik VM แทนที่จะเป็นโค้ดที่คอมไพล์แล้ว) โดยทั่วไปแล้ว. odex (ปฏิบัติการ dalvik ที่เหมาะสม) และ deodex (ปฏิบัติงานได้ดีที่สุด dalvik) เกี่ยวข้องกับวิธีการจัดการไฟล์ทรัพยากรในแอปพลิเคชัน . odex เป็นไฟล์. doc ที่ได้รับการปรับให้เหมาะสมโดยโปรแกรม dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

ความได้เปรียบ

  • odex เร็วขึ้น
  • มันทำให้การกำหนดธีมง่ายขึ้น

ข้อเสียเปรียบ

  • deodex ช้าลงเมื่อเริ่มต้นครั้งแรก
  • ไฟล์. odex ทำให้การจัดชุดไฟล์ทำได้ยากขึ้น

"Deodex" ไม่ได้หมายถึงการเพิ่มประสิทธิภาพ. dex ซึ่งหมายถึงการลบไฟล์. odex (ยกเลิกการเพิ่มไฟล์. odex ด้วย) eldarerathis ถูกต้องแล้ว
Matthew อ่าน

ขอขอบคุณที่ให้ข้อมูลที่สำคัญเกี่ยวกับการใช้ทรัพยากรที่ไม่ดี! ที่กล่าวว่า: การเปรียบเทียบ exe ไม่ดี
พอล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.