Tout à fait.
C'est vrai qu'il y a bcp d'avantages à développer pour Android.
Je programme en Java en plus (mon langage de "prédilection" est le C++).
Un avantage de taille, c'est que le système de fichier est complètement encapsulé, on ne manipule ni fichiers, ni dossiers.
On manipule ses ressources via des id.
Un objet appelé R est généré automatiquement, et représente toutes les ressources.
Par contre, le pendant de ce mécanisme, c'est que si l'on veut accéder à un fichier directement (sur la machine) c'est galère.
Déjà, on ne connaît pas à priori son nom. (Le nom du fichier des préférences par exemple n'est pas connu
, même si on passe son temps à le consulter et à le remplir.)
Concernant les processus, là par contre .... c'est pénible au contraire.
Il y a un thread qui gère les activités (les "fenêtres"), et l'input.
Et un autre qui gère OpenGL et son contexte.
Tout cela doit être "deviné" car aucune documentation en parle.
Bien-entendu, hors de question d'utiliser le mauvais thread pour le mauvais contexte. Plantages ou NOP (rien ne se passe) à la clé.
Mais c'est vrai que globalement c'est très agréable. (A la fois de part l'utilisation de Java, et l'encapsulation du système de fichiers).
NB: Il est possible de programmer en C++ pour Android en utilisant le SDK nommé NDK.
Mais, à la base, j'e l'ai évité pour éviter trop de problèmes de portabilité. Il y en a assez comme ça.