Apa perbedaan antara ROM odex dan deodex?


Jawaban:


39

Sebuah .dexfile pada dasarnya adalah versi bytecode yang dikompilasi dari sebuah aplikasi yang telah dibangun untuk Dalvik VM yang menjalankan aplikasi Android. Saya percaya ini adalah kependekan dari Dalvik Executable, tetapi saya tidak yakin apakah saya mengingatnya dengan benar.

Sebuah .odexfile yang merupakan Dioptimalkan .dexberkas (maka 'o'), artinya pada dasarnya telah pre-dikompilasi untuk platform tertentu. Keuntungannya adalah waktu startup lebih cepat karena VM tidak harus melakukan optimasi saat startup / runtime. Kerugiannya adalah 1) Membutuhkan banyak ruang ekstra dan 2) Aplikasi yang tidak berjalan tidak akan berjalan dengan baik jika dimasukkan ke perangkat lain, dan itu harus memiliki .odexfile yang terkait untuk berjalan sama sekali.

ROM biasanya dirilis dalam bentuk deodexed karena mereka dapat bertema dan dimodifikasi dengan cukup mudah, sedangkan mengubah / memodifikasi ROM odex pada dasarnya tidak mungkin (pada hal terbaik akan crash seperti gila). Beberapa orang juga memilih untuk merilis ROM mereka dalam versi odex untuk orang-orang yang lebih suka keuntungan kinerja.

Sebagian besar stock ROM yang pernah saya lihat adalah odex, saya berasumsi karena operator / produsen menginginkan peningkatan kinerja. Mereka juga tidak memiliki metode bertema resmi apa pun, jadi mereka mungkin tidak peduli jika Anda tidak dapat mengubah warna ikon status Anda atau teks sistem Anda atau yang lainnya. Plus mereka memiliki keuntungan mengetahui perangkat apa yang mereka inginkan untuk menjalankan sistem mereka, sehingga mereka dapat melakukan pra-kompilasi .odexfile dengan sangat mudah, saya kira. Sebagai bonus tambahan, membuatnya sulit untuk menarik .apkfile dari perangkat dan membaginya dengan orang-orang.

Sunting: Karena saya baru menyadari bahwa saya tidak terlalu eksplisit tentang perbedaannya di sini - ROM "odexed" adalah salah satu tempat aplikasi telah dikompilasi, dan dengan demikian berisi .odexfile terkait yang merupakan eksternal dari .apkfile. ROM "deodexed" adalah salah satu di mana data yang akan dioptimalkan dalam .odexfile telah lebih atau kurang digabungkan kembali ke dalam .apkfile (artinya itu tidak dioptimalkan tetapi pada dasarnya platform agnostik), sehingga .apkfile-file tersebut mandiri dan tidak ada .odexfile . Ini biasanya hanya dilakukan dengan utilitas deodexing, seperti smali / baksmali .


Edit terakhir, membuat semuanya lebih eksplisit sangat berguna. +1
rbrito

7

Saya pribadi ingin tahu jawabannya beberapa saat yang lalu. Inilah yang saya pikirkan:

Odexed dan Deodexed

ROM standar seharusnya dibuat untuk rilis yang memberikan pemuatan aplikasi yang lebih lancar dan lebih cepat ke dalam memori. Setiap .apk memiliki .odex yang sesuai. Ketika aplikasi digunakan oleh sistem atau pengguna, .odex digunakan untuk mulai memuat aplikasi. ROM yang dideodex hanya memiliki file .apk. Ketika aplikasi dipanggil ke dalam memori hanya dengan menarik data dari .apk, ini membutuhkan waktu lebih lama karena tidak dioptimalkan untuk pengambilan yang lebih mudah dari sistem.

Pertanyaan umum yang sering saya tanyakan adalah:

  1. Mengapa custom ROM tidak dideodeksasi?
  2. Haruskah saya menggunakan ROM odexed atau deodexed?

Untuk menjawab pertanyaan-pertanyaan ini, ia datang ke satu kata, themability Jika Anda berbicara dengan siapa saja yang menggunakan ROM tema, mereka akan memberi tahu Anda bahwa sangat mudah untuk men-theme ROM yang tidak dideodeksasi. Sejak kami mulai menggunakan ROM yang dideodex, themers sekarang dapat membuat tema untuk diterapkan ke ROM daripada opsi yang membosankan untuk tema ROM itu sendiri (lepaskan ROM kustom untuk sebuah tema). Jika Anda menggunakan ROM odexed dan mencoba menerapkan tema, itu tidak akan berfungsi atau hanya tema beberapa aspek visual, yang akan memberi Anda antarmuka pengguna yang mengerikan untuk mengalami.

Deodex Cons

Saya yakin Anda sekarang bertanya-tanya mengapa ... mengapa bahkan ada opsi untuk mengunduh ROM khusus yang rusak? Jawabannya adalah kecepatan. Ingat bagaimana saya mengatakan bahwa file odex dioptimalkan untuk pengambilan yang lebih mudah? Sederhananya ... ini dioptimalkan (seperti mengindeks tabel data) sehingga sistem dapat membuka .apk lebih cepat.

Deodex dan zipalign

Semua orang menginginkan yang terbaik dari kedua dunia begitu cepat setelah tren deodexed mulai memuncak, para pengembang ROM yang cerdas ini datang dengan solusi untuk zipalign saat boot. Ini mengoptimalkan setiap .apk pada setiap reboot yang kemudian memungkinkan sistem untuk mengakses aplikasi lebih efisien dan yang paling penting, lebih cepat. Tentu saja, kekurangannya adalah waktu booting sedikit lebih lambat.

Ringkasan

Jika Anda memiliki pilihan untuk mengunduh custom ROM odexed atau deodexed, saya hanya akan pergi dengan deodex ROM. Anda tidak pernah tahu kapan Anda ingin mencoba tema atau melakukan modifikasi sendiri dan senang memiliki opsi yang mudah daripada mem-flash ROM baru. Dengan perangkat yang lebih baru, Anda bahkan mungkin tidak melihat perbedaan yang mencolok dengan zipalign saat boot. Jika perangkat Anda cukup lambat dan ketinggalan jaman, maka saya sarankan untuk memikirkan hal ini sedikit lebih keras. Saya berani bertaruh beberapa dari Anda lebih suka mendapatkan ROM yang dioptimalkan minimal (odexed) untuk kinerja dan kecepatan yang lebih baik daripada menyesuaikan antarmuka pengguna.

Jika Anda subjek baru, Anda dapat menemukan beberapa istilah umum yang terdapat pada penulisan asli saya di sini: http://codeversed.com/deodexed-vs-odexed-rom

Jika tidak, hal di atas menunjukkan semua yang perlu Anda ketahui. Jika saya melewatkan sesuatu, tolong beri tahu saya :)


1

File .dex (dalvik executable) pada dasarnya mirip dengan file .exe Windows (kecuali dalam bahasa Dalvik VM, alih-alih kode yang dikompilasi). Pada dasarnya, .odex (executable dalvik dioptimalkan) dan deodex (de-optimized dalvik executable) berhubungan dengan bagaimana file sumber daya ditangani dalam aplikasi. .Odex adalah file .dex yang telah dioptimalkan oleh program dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

Keuntungan

  • odex lebih cepat
  • itu membuat tema lebih mudah

Kerugian

  • deodex lebih lambat pada startup pertama
  • file .odex membuat tema lebih sulit

"Deodex" tidak berarti de-dioptimalkan .dex, itu berarti menghapus file .odex (de-tambahkan file .odex, pada dasarnya). eldarerathis benar.
Matius Baca

Terima kasih telah memberikan informasi penting tentang odexing tentang sumber daya! Yang mengatakan: Perbandingan exe tidak bagus.
Paul
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.