android - strings.xml vs static constants

lor*_*tol 19 string performance android constants

这就是我的想法:

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

谈到最佳实践,我想知道哪些应该使用.

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

getString(...) vs MyConstants.THIS_IS_A_CONSTANT
Run Code Online (Sandbox Code Playgroud)

sti*_*ike 43

在这两种情况下,存在一些优点和缺点(我应该说优点和缺点).

正如在你的问题的评论中他们说的一切.我只想补充一些小问题.

本土化:

对于本地化问题,String资源是最好的,因为您可以使用不同的语言文件来进行不同的Locale.

记忆:

由于String资源保存在xml文件中,因此会有一些额外的开销(虽然不是主要的)

性能:

从内存中读取总是比从文件中读取更快.虽然在这种情况下性能差异不显着

修的:

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

最后:

所以我的建议是

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

使用静态常量作为程序的内部目的,如数据库名称,内部变量,意图过滤器名称等.

  • 据我所知,xml文件也是在apk中编译的,所以我认为没有任何重载。 (2认同)
  • 另一件事是 XML 中的字符串可以直接在 XML 布局中使用,但常量则不然。 (2认同)