Les ROM avec des programmes désodexés sont-elles plus rapides ou plus lentes qu'odexées?

8

Je suis un peu confus par l'effet de la désodexation (ou même par la terminologie).

D'après les réponses à " Quelle est la différence entre les roms odexées et désodées? ":

Une ROM "désodexée" est une ROM où les fichiers .odex ont été plus ou moins fusionnés dans le .apk

Celui-ci semble impliquer que la ROM "déodexée" est une ROM odexée (donc précompilée / optimisée) où le package .apk contient les éléments .odex au lieu d'être dans un fichier séparé.

Cependant, la même réponse a une citation apparemment opposée:

Les ROM sont généralement publiées sous forme désodée car elles peuvent être thématiques et modifiées assez facilement, tandis que le thème / la modification d'une ROM odexée est fondamentalement impossible (au mieux, les choses planteraient comme des fous). Certaines personnes choisissent également de publier leurs ROM dans des versions odexées pour les personnes qui préféreraient les gains de performances.

Cette deuxième citation semble impliquer que la ROM déodexée N'A PAS les gains de performances de la ROM odexée (basée sur la dernière phrase) - Je suppose que cela supprime complètement les informations .odex pour des raisons de portabilité / thématisation; alors que la première citation semble dire que la ROM désodée est tout aussi optimisée qu'odexée, mais emballée différemment.

Laquelle de ces significations est correcte? Qu'est-ce que je rate?

Exemple:

  • Fission Vanilla: "ROM a racine et a été désodexé et zip alloué"
DVK
la source

Réponses:

8

Les ROM désodées n'ont pas les fichiers .odex intégrés dans les .apk, ils sont supprimés. Ce que eldareathis voulait dire dans sa réponse à l'autre question, c'est que la dépendance des .apk sur les fichiers .odex est supprimée; certaines informations sont réintégrées dans le fichier .apk, mais pas le fichier .odex lui-même. Cette page contient quelques détails techniques.

Les ROM désodées peuvent être légèrement plus lentes à cause de cela; Cependant, je crois que, comme le cache Dalvik est construit à partir de l'utilisation de la ROM, l'écart de performances est minimisé.

Matthew Read
la source
Merci! Seriez-vous en mesure d'élaborer sur la pièce «l'écart de performance est minimisé»? Cela signifie-t-il que l'écart est complètement éliminé pour tout .apk après la première utilisation (et mimisé s'applique à "pas chaque .apk a un cache construit à la fois), ou cela signifie-t-il que pour un .apk donné, la version odexée serait toujours être plus rapide que le déodexé même après la construction du cacge?
DVK
@DVK En général, je pense que le .odex serait encore plus rapide, mais avoir des fichiers .dex mis en cache élimine la nécessité de traduire tout le .apk à chaque démarrage. Je pense que les frais généraux sont probablement beaucoup plus importants que les optimisations, dans la plupart des cas.
Matthew Read
2
@DVK: Je vois à quel point cela n'était pas clair dans ma réponse précédente, alors je suis retourné et j'ai essayé de clarifier un peu. Merci d'avoir fait remarquer cela. Concernant cette question, tout ce que Matthew a dit dans sa réponse est absolument correct.
eldarerathis