22

这就是我的想法:

strings.xml 上的字符串应该用于要使用的布局 (xml)。静态常量供代码(.java)使用。

当谈到最佳实践时,我想知道应该使用哪个。

如果你有很多字符串,它会有性能影响吗?

getString(...) vs MyConstants.THIS_IS_A_CONSTANT
4

1 回答 1

49

在这两种情况下,都有一些优点和缺点(我应该说优点和较少的优点)。

正如您对问题的评论一样,他们都说了。我只是想补充一些小点。

本土化:

对于本地化问题,字符串资源绝对是最好的,因为您可以为不同的语言环境使用不同的语言文件。

记忆:

由于字符串资源保存在 xml 文件中,所以有一些额外的开销(虽然不是主要的)

表现:

从内存读取总是比从文件读取快。尽管在这种情况下,性能差异并不显着

维护:

这只是个人意见。对我来说,维护 res 文件比在课堂上维护字符串更容易。string.xml 对我来说更具可读性。

最后:

所以我的建议是

将字符串资源用于将显示给用户的文本。

将静态常量用于程序的内部用途,例如数据库名称、内部变量、意图过滤器名称等。

于 2013-04-23T04:29:16.257 回答