quel est le problème avec chaîne codée en dur dans android fichier xml?
J'aime mettre de texte simple directement sur le fichier xml sans déclarer une chaîne de caractères en premier. Il est plus facile, plus simple et moins salissant. Cependant, il a toujours un badge d'avertissement à chaque fois que je le fais.
Que faire si j'ai une dizaines de chaîne codée en dur dans mon fichier xml sans concernant l'avertissement? Vais-je obtenir en difficulté?
merci d'avance.
il est jusqu'à u, mais si u suivre les normes de codage, alors il est simple de changer si nécessaire . une fois pensez quoi de poste et ce n'est pas à poster.
Connexes: chaîne codée en dur sur la ligne “trois”, devraient utiliser @ressource de chaîne
Connexes: chaîne codée en dur sur la ligne “trois”, devraient utiliser @ressource de chaîne
OriginalL'auteur Hendra Anggrian | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Non, vous ne serez pas avoir des ennuis, mais à l'aide de
@string/yourString
dans votre xml sera une bonne pratique et il va faire du multi-support de la langue plus facile.@string
? (À l'exclusion de la plus évidente à propos de faire du multi-support de la langue plus facile) j'ai pensé qu'un niveau supplémentaire d'indirection serait un signe moins.OMG... u peut expliquer comment je peux tester mes performances de l'application .....?
votre commentaire ci-dessus est parfaitement logique, après tout il est bon de le faire. Merci!
Je suis en demandant au sujet de comment puis-je être sûr que mal d'améliorer mes performances de l'application lorsque je vais ajouter des chaînes à string.xml? Incroyable cette option est sélectionnée de réponse....
ll affecte pas les performances de l'application beaucoup plus, si vous obtenez des mises en garde. Mais attention peut se produire lors de l'interfaçage avec le code existant, écrite avant l'arrivée des génériques. ne veut pas dire que l'avertissement = consomment de la mémoire..
OriginalL'auteur Rahul Baradia
Lorsque vous utilisez des chaînes codées en dur dans les deux vous de code java et xml fichier de votre application directement écrit ces chaînes de la RAM. Mais lorsque vous les déclarez que les ressources de chaîne, il ne sera pas écrit sur la mémoire vive lorsque l'application se lance mais ils sont écrits sur la mémoire vive lorsque les besoins des applications pour les utiliser. Vous pouvez déclarer un milliard de chaînes de caractères dans les ressources et vous pouvez toujours avoir un peu de poids RAM respectueux de l'application Android.
OriginalL'auteur Zgrkpnr__
Il ne sera pas un mal. Mais à l'aide de
string.xml
pour mettre du texte dans votre application est considéré comme une bonne pratique. Car supposons que vous voulez le même texte dans plusieurs endroits dans votre application. Il sera difficile de mettre le texte à chaque fois codé en dur, surtout si le texte est un peu grand. Mettre le texte dans un fichier unique signifie que vous avez accès à un même texte à partir de n'importe où dans votre application.OriginalL'auteur Renjith
Votre société a été acheté et maintenant vous arrivez à lire sur des milliers de lignes de code et changeur de l'ancien nom vers le nouveau parce que quelqu'un les chaînes codées en dur. Vous souhaitez internationaliser votre code de sorte qu'il parle espagnol facile.il suffit de faire une nouvelle strings.xml seulement de nom, il strings_es.xml le téléphone lui-même est en espagnol bien sûr, vous auriez ttranslate mais vous êtes en fait.Je ne peux pas lire les cordes cause de ce téléphone est petit, vous pourriez peut-être donner de brèves descriptions pour les petits téléphones. Lire sur mvc bonne chance
OriginalL'auteur David Allan Houser Jr
Rien à craindre de ces avertissements. Peut-être que le développeur android de la pensée, il n'est pas une bonne pratique.
Mais si votre application support multi-langue, un jour, à l'aide de @string/mystring est la meilleure pratique.
OriginalL'auteur Lazy Ninja
C'est en référence à certains commentaires concernant la performance (@PankajKumar, @TechEnd, @Ken O-N):
Selon les règles de la documentation, de la "Chaîne est compilé ressource de type de données: Ressources pointeur vers une Chaîne de caractères."
(Lien: http://developer.android.com/guide/topics/resources/string-resource.html#String)
Donc, je pense que cela va augmenter les performances par la diminution de l'empreinte mémoire, bien que la différence peut ne pas être perceptible.
C'est parce que, lors de la déclaration d'une chaîne de caractères dans le fichier XML, un pointeur vers cette ressource est maintenu. Chaque fois que nous avons besoin de réutiliser des ressources à nouveau ailleurs, nous venons de passer un pointeur vers la Chaîne existante , afin d'économiser de la mémoire dans l'attribution d'un nouveau mémoire pour la même Chaîne.
Ceci est en contraste à l'aide de chaînes codées en dur, pour qui la mémoire allouée à chaque fois pour la même ressource de Chaîne.
Espère que cette aide. Les commentaires sont les bienvenus.
Ce qui concerne,
MM.
OriginalL'auteur Mrinal Mandal