Pourquoi l'utilisation de variables finales statiques est-elle encouragée à déclarer des constantes plutôt que des variables finales? L'utilisation de sons statiques est logique lorsqu'il y aura de nombreuses instances d'une classe mais cet argument est correct lorsqu'il est utilisé pour une activité Android. En fait, étant donné que l'instance de classe sera disponible même après la fin de l'activité et est finalement récupérée, il semble que toutes ces constantes resteront en mémoire jusqu'à ce que le chargeur de classe soit présent.Utilisation des finales statiques dans Android Activité
De même, le compilateur inline-t-il les variables finales non statiques (ints et String) comme il le fait pour les variables finales statiques?
Convenu. Cependant, si je veux juste déclarer des constantes dans une activité qui ne vont pas être utilisées en dehors de celle-ci et si j'ai environ 20 -25 chaînes de caractères, devrais-je les déclarer statiques? Toutes ces constantes resteront jusqu'à ce que le chargeur de classe soit récupéré. D'un autre côté, si je les déclare simplement définitifs et non statiques, ils disparaîtront lorsque l'activité sera GCed. Il peut y avoir plusieurs instances de l'activité, mais uniquement si l'utilisateur visite l'activité plusieurs fois de suite. Mais n'est-ce pas rare? – adityad
Pas nécessairement. Cela n'a rien à voir avec la rapidité avec laquelle l'utilisateur visite l'activité. Avoir plusieurs instances de la même activité est parfaitement valide dans Android et est le comportement par défaut. En ce qui concerne votre question, si les chaînes n'ont aucune utilité en dehors de l'instance, ne les déclarez pas statiques. Si elles doivent être identiques dans toutes les instances, il vaut probablement mieux les déclarer statiques. Dans les appareils mobiles, les opérations de l'UC sont plus importantes que l'utilisation de la mémoire (imo), et vous économiserez des cycles CPU en utilisant des variables statiques plutôt que de les avoir créées toutes les instances. Bien que ce soit négligeable – Falmarri