Sự khác biệt giữa ROM odexed và deodexed là gì?


43

Sự khác biệt giữa ROM odexed và deodexed là gì? ROM (stock) tiêu chuẩn mà tàu sử dụng là gì?

Câu trả lời:


39

Một .dextệp về cơ bản là một phiên bản mã byte được biên dịch của một ứng dụng đã được xây dựng cho máy ảo Dalvik mà ứng dụng của Android chạy trên đó. Tôi tin rằng nó là viết tắt của Dalvik Executable, nhưng tôi không chắc liệu tôi có nhớ chính xác không.

Một .odextệp là một .dextệp Tối ưu hóa (do đó là 'o'), có nghĩa là về cơ bản nó đã được biên dịch trước cho một nền tảng cụ thể. Ưu điểm của việc này là thời gian khởi động nhanh hơn nhiều vì VM không phải thực hiện bất kỳ tối ưu hóa nào khi khởi động / thời gian chạy. Nhược điểm là 1) Nó chiếm thêm dung lượng và 2) Ứng dụng bị lỗi sẽ không chạy đúng nếu được đặt trên thiết bị khác và phải có .odextệp liên quan để chạy.

ROM thường được phát hành ở dạng deodexed vì chúng có thể được theo chủ đề và sửa đổi khá dễ dàng, trong khi chủ đề / sửa đổi ROM bị lỗi về cơ bản là không thể (tốt nhất là mọi thứ sẽ sụp đổ như điên). Một số người cũng chọn phát hành ROM của họ trong các phiên bản không phù hợp cho những người thích tăng hiệu suất.

Hầu hết các ROM stock mà tôi thấy đều bị lỗi, tôi cho rằng vì các nhà mạng / nhà sản xuất muốn tăng hiệu suất. Họ cũng không có bất kỳ phương pháp theo chủ đề chính thức nào, vì vậy họ có thể không quan tâm nếu bạn không thể thay đổi màu sắc của biểu tượng trạng thái hoặc văn bản hệ thống của bạn hoặc không có gì. Thêm vào đó, họ có lợi thế là biết thiết bị nào họ muốn hệ thống của họ chạy trên đó, vì vậy họ có thể biên dịch trước .odexcác tệp rất dễ dàng, tôi tưởng tượng. Là một phần thưởng bổ sung, điều đó gây khó khăn cho việc kéo .apkcác tập tin ra khỏi thiết bị và chia sẻ chúng với mọi người.

Chỉnh sửa: Vì tôi mới nhận ra rằng tôi không rõ lắm về sự khác biệt ở đây - ROM "bị lỗi" là một trong đó các ứng dụng đã được biên dịch trước và do đó chứa .odexcác tệp liên quan bên ngoài các .apktệp. ROM "đã giải mã" là một trong đó dữ liệu được tối ưu hóa trong các .odextệp đã được hợp nhất ít nhiều trở lại vào các .apktệp (có nghĩa là nó không được tối ưu hóa nhưng về cơ bản là bất khả tri về nền tảng), do đó các .apktệp được chứa độc lập và không có .odextệp nào . Điều này thường chỉ được thực hiện với một tiện ích khử mùi, chẳng hạn như smali / baksmali .


Chỉnh sửa cuối cùng, làm cho mọi thứ rõ ràng hơn là rất hữu ích. +1
rbrito

7

Cá nhân tôi muốn biết câu trả lời cho điều này một chút trước đây. Đây là những gì tôi đã đưa ra:

Odexed và Deodexed

Một bản ROM tiêu chuẩn được cho là đã được phát hành để cung cấp việc tải các ứng dụng vào bộ nhớ một cách mượt mà và nhanh hơn. Mỗi .apk có một .odex tương ứng. Khi ứng dụng được sử dụng bởi hệ thống hoặc người dùng, .odex được sử dụng để bắt đầu tải ứng dụng. Một ROM bị khử chỉ có tệp .apk. Khi ứng dụng được gọi vào bộ nhớ từ việc chỉ lấy dữ liệu từ .apk, việc này sẽ mất nhiều thời gian hơn do không được tối ưu hóa để truy xuất dễ dàng hơn từ hệ thống.

Các câu hỏi phổ biến mà tôi nhận được cách hỏi quá thường xuyên là:

  1. Tại sao ROM tùy chỉnh bị khử?
  2. Tôi nên sử dụng ROM odexed hoặc deodexed?

Để trả lời những câu hỏi này, nó đi xuống một từ, tính khả dụng. Nếu bạn nói chuyện với bất kỳ ai về chủ đề ROM, họ sẽ nói với bạn rằng việc tạo chủ đề ROM bị khử. Vì chúng tôi đã bắt đầu sử dụng ROM đã giải mã, giờ đây, chủ đề có thể tạo chủ đề để áp dụng cho ROM thay vì tùy chọn tẻ nhạt để tạo chủ đề cho ROM (phát hành ROM tùy chỉnh cho chủ đề). Nếu bạn sử dụng ROM bị lỗi và cố gắng áp dụng các chủ đề, nó sẽ không hoạt động hoặc chỉ chủ đề một số khía cạnh trực quan, sẽ cung cấp cho bạn một giao diện người dùng khủng để trải nghiệm.

Nhược điểm

Tôi cá là bây giờ bạn đang tự hỏi tại sao, tại sao thậm chí còn có một tùy chọn để tải xuống một ROM tùy chỉnh bị lỗi? Câu trả lời cho điều đó là tốc độ. Hãy nhớ làm thế nào tôi nói rằng các tập tin odexed được tối ưu hóa để truy xuất dễ dàng hơn? Đơn giản chỉ cần đặt tối ưu hóa của nó (như lập chỉ mục bảng dữ liệu) để hệ thống có thể mở .apk nhanh hơn.

Deodex và zipalign

Mọi người đều muốn điều tốt nhất của cả hai thế giới rất nhanh sau khi xu hướng bị loại bỏ bắt đầu lên đến đỉnh điểm, những nhà phát triển ROM hiểu biết này đã đưa ra một giải pháp để zipalign khi khởi động. Điều này tối ưu hóa mỗi .apk trên mỗi lần khởi động lại, sau đó cho phép hệ thống truy cập các ứng dụng hiệu quả hơn và quan trọng nhất là nhanh hơn. Tất nhiên, nhược điểm là thời gian khởi động chậm hơn một chút.

Tóm lược

Nếu bạn có lựa chọn tải xuống ROM tùy chỉnh odexed hoặc deodexed, tôi sẽ chỉ đi với ROM deodex. Bạn không bao giờ biết khi nào bạn muốn thử một chủ đề hoặc tự thực hiện một số sửa đổi và thật tuyệt khi có các tùy chọn dễ dàng thay vì flash một ROM hoàn toàn mới. Với các thiết bị mới hơn, bạn thậm chí có thể không thấy sự khác biệt đáng chú ý so với zipalign khi khởi động. Nếu thiết bị của bạn khá chậm và lỗi thời, thì tôi sẽ đề nghị suy nghĩ về điều này khó hơn một chút. Tôi cá là một số bạn muốn có được một bản ROM (tối ưu) tối ưu tốt đẹp để có hiệu suất và tốc độ tốt hơn so với việc tùy chỉnh giao diện người dùng.

Nếu bạn là chủ đề mới, bạn có thể tìm thấy một số thuật ngữ phổ biến nằm trong bài viết gốc của tôi tại đây: http://codeversed.com/deodexed-vs-odexed-rom

Nếu không, ở trên cho bạn thấy tất cả mọi thứ bạn cần biết. Nếu tôi bỏ lỡ bất cứ điều gì, xin vui lòng cho tôi biết :)


1

Một tệp .dex (dalvik thực thi) về cơ bản tương tự như các tệp .exe của Windows (ngoại trừ trong ngôn ngữ của Dalvik VM, thay vì mã được biên dịch). Về cơ bản, .odex (tối ưu hóa thực thi dalvik) và deodex (thực thi dalvik được tối ưu hóa) liên quan đến cách xử lý các tệp tài nguyên trong các ứng dụng. .Modex là một tệp .dex đã được chương trình dexopt tối ưu hóa: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

Lợi thế

  • odex nhanh hơn
  • nó làm cho chủ đề dễ dàng hơn

Bất lợi

  • deodex chậm hơn khi khởi động lần đầu
  • các tập tin .odex làm cho chủ đề khó hơn

"Deodex" không có nghĩa là .dex được tối ưu hóa, nó có nghĩa là loại bỏ các tệp .odex (thực chất là thêm các tệp .odex). eldarerathis có nó đúng.
Matthew Đọc

Cảm ơn đã cung cấp cho các thông tin quan trọng của odexing là về tài nguyên! Điều đó nói rằng: So sánh exe không tuyệt vời.
Paul
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.