android ndk vs sdk - si des fonctions sont concernées
je suis sur le point de commencer le développement d'applications android.
De Qu'est-ce que NDK? de la documentation je n'ai pas été en mesure d'extraire les informations suivantes:
Fait à l'aide de NDK fait d'introduire de nouvelles fonctionnalités en comparaison des SDK?
Je suis intéressé par ce parce que l'utilisation de NDK augmente considérablement la complexité de l'application, donc si je ne suis pas intéressé par augmentation de la performance, il existe d'autres raisons d'aller faire NDK?
Ce que je veux dire c'est par exemple:
-redémarrer le téléphone
- (Je ne sais ni SDK ou NDK permet, je viens de l'utiliser comme exemple de ce que je veux dire) permet de dire que java SDK ne permet pas cela, mais certaines bibliothèques natives faire - que la réponse à ma question est oui, NDK ne ajouter certaines fonctionnalités
Merci d'avance pour toutes les réponses utiles.
- je ne vois pas en quoi c'est une opinion basée sur la question
Vous devez vous connecter pour publier un commentaire.
Les seules raisons pour utiliser le NDK pour autant que je sais, c'est d'intercaler un surcroît de performance de votre application et de se rapprocher du métal nu. Si vous n'avez pas besoin de faire une de ces choses, vous devriez probablement rester à l'écart de la NDK.
Également noter que le Dalvik VM a déjà quelques jolies performances impressionnantes et relativement simple.
Vous devriez vraiment utiliser SDK, sauf si vous avez une bonne raison de l'utiliser NDK. De bonnes raisons peuvent varier, mais par exemple, vous pouvez utiliser NDK:
Si vous voulez utiliser OpenGL ES 2.0 pour Android 2.1 (Eclair), il est disponible uniquement par le biais de NDK. Le SDK support pour OpenGL ES 2.0 a commencé avec la version Froyo.
Si vous souhaitez utiliser Renderscript
Si vous avez une grande partie de votre application logique de l'écrit en C/C++
Le NDK est beaucoup plus limité en termes de fonctionnalités.
Ce que vous obtenez à partir de la NDK est la possibilité d'écrire votre application en C++ et le compiler en natif BRAS de code. Si vous aimez le C++ mieux que Java, si vous avez un C++ application que vous voulez de port pour Android, ou si vous avez juste besoin d'un surcroît de performance que seul code natif peut offrir, puis par tous les moyens, vous devriez utiliser le NDK.
Je n'ai pas fait moi-même, mais une autre solution est d'écrire hybride application, où l'application est écrite principalement en Java, avec une sélection de fonctions écrites en C++, qui sont appelés à partir du code Java.
Pour moi, je pense qu'il est important de connaître le NDK qui est un outil puissant dans le développement d'applications mobiles. Surtout si vous souhaitez développer une application multiplateforme, le NDK est imbattable dans ce domaine. Depuis le même code écrit en C + + pour Android peut être facilement porté, et d'exécuter la même manière sur l'iOS, Windows ou toute autre plate-forme sans changer le code d'origine. Ce qui fait gagner beaucoup de temps dans le développement d'applications qui sont développés pour fonctionner sur plusieurs plates-formes; que des jeux et d'autres applications classiques. Chose que vous ne peut pas faire avec le SDK.
Natif méthodes sont spécifiques à la plateforme de code. Ils sont généralement écrits dans des langages tels que C ou C++ et contenus dans des bibliothèques(dll). Il est possible de créer un hybride application Java qui bénéficie de ces bibliothèques.
Raisons pour l'Utilisation des Méthodes Indigènes
OS
En général, de bons cas d'utilisation pour le NDK sont CPU-intensive des applications telles que des moteurs de jeu, traitement du signal, et de la physique de simulation
La inconvénient majeur de native méthodes est que vous n'aurez pas capacité multi-plateforme.
Maintenant, si vous ne savez pas ce code natif est, alors probablement que vous n'avez pas besoin d'utiliser du code natif. Android NDK documentation explique bien cela: