Apakah ROM dengan program yang dideodeks lebih cepat atau lebih lambat daripada yang di-odex?

8

Saya agak bingung dengan efek deodexing (atau bahkan oleh terminologi).

Berdasarkan jawaban untuk " Apa perbedaan antara ROM odex dan deodex? ":

ROM "deodexed" adalah salah satu di mana file .odex telah lebih atau kurang digabungkan kembali ke .apk

Yang ini tampaknya menyiratkan bahwa ROM "deodexed" adalah ROM odexed (dengan demikian dikompilasi / dioptimalkan) di mana paket .apk berisi hal-hal .odex alih-alih berada dalam file terpisah.

Namun, jawaban yang sama memiliki kutipan yang berlawanan:

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.

Kutipan kedua ini sepertinya menyiratkan bahwa ROM deodexed TIDAK memiliki kinerja keuntungan dari odexed ROM (berdasarkan kalimat terakhir) - Saya menduga karena itu benar-benar menghapus info .odex demi portabilitas / tema; sedangkan kutipan pertama tampaknya mengatakan bahwa ROM deodexed hanya dioptimalkan seperti odexed, tetapi dikemas berbeda.

Manakah dari makna ini yang benar? Apa yang saya lewatkan?

Contoh:

  • Fission Vanilla: "ROM memiliki root dan telah deodexed, dan zip alligned"
DVK
sumber

Jawaban:

8

Deodexed ROM tidak memiliki file .odex terintegrasi ke dalam .apk, mereka dihapus. Apa yang dimaksud dengan eldareathis dalam jawaban untuk pertanyaan lain adalah bahwa ketergantungan .apk pada file .odex dihapus; beberapa informasi diintegrasikan kembali ke .apk, tetapi bukan file .odex yang sebenarnya. Halaman ini memiliki beberapa detail teknis.

Deodexed ROM mungkin sedikit lebih lambat karena ini; namun saya percaya bahwa karena cache Dalvik dibangun dari penggunaan ROM, kesenjangan kinerja diminimalkan.

Matius Baca
sumber
Terima kasih! Apakah Anda dapat menguraikan bagian "kesenjangan kinerja diminimalkan"? Apakah itu berarti bahwa kesenjangan dihilangkan sepenuhnya untuk sembarang .apk setelah penggunaan pertama (dan mimized berlaku untuk "tidak setiap .apk memiliki cache yang dibangun sekaligus), atau apakah itu berarti bahwa untuk .apk tertentu, versi odex akan tetap lebih cepat daripada yang deodex bahkan setelah cacge dibangun?
DVK
@DVK Secara umum saya pikir .odex masih akan lebih cepat, tetapi setelah di-cache file .dex menghilangkan kebutuhan untuk menerjemahkan semua .apk pada setiap startup. Saya pikir overhead mungkin jauh lebih penting daripada optimasi, dalam banyak kasus.
Matius Baca
2
@DVK: Saya melihat bagaimana hal itu tidak jelas dalam jawaban saya sebelumnya, jadi saya kembali dan mencoba untuk mengklarifikasi sedikit. Terima kasih telah menunjukkannya. Mengenai pertanyaan ini, semua yang dikatakan Matius dalam jawabannya benar sekali.
eldarerathis