9 votes

Application c++ pure pour Android et ses performances

Puis-je écrire une application en C++ pur pour Android (en utilisant le NDK, par exemple) ?

Considérant qu'il n'y a pas de différence de fonctionnalité, est-ce que l'application Android C++ pure est plus rapide et consomme moins de mémoire que l'application Android Java ? A mon avis, c'est OUI parce que l'application C++ ne fait pas de garbage collection, ce qui cause des problèmes de frame rate.

16voto

Viktor Sehr Points 5634

Oui et oui, malgré ce que dit Google :

"L'utilisation de code natif n'entraîne pas une augmentation automatique des performances, mais accroît toujours la complexité des applications... Si vous écrivez du code natif, vos applications sont toujours emballées dans un fichier .apk et elles s'exécutent toujours à l'intérieur d'une machine virtuelle sur l'appareil. Le modèle fondamental des applications Android ne change pas."

de http://developer.Android.com/sdk/ndk/index.html

(Personnellement, je ne suis pas d'accord pour dire qu'écrire en C++ rend automatiquement un programme plus complexe qu'en Java, je dirais même que c'est l'inverse pour un programmeur C++ compétent).

-2voto

Anton Stafeyev Points 324

Eh bien, non, vous ne pouvez pas faire du c++ pur sur les appareils Android.

Il n'y a aucune raison pour cela. Vous utilisez toujours la même machine virtuelle que votre code Java. Donc, à moins que vous n'ayez besoin de sacrifier ces petits bouts de performance, vous devriez écrire vos procédures consommatrices de CPU en C++ et les invoquer via le code Java.

On dirait que vous faites un jeu, alors il suffit d'utiliser OpenGL ES avec java, et de décharger les calculs lourds dans les shaders de calcul.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X