每当我制作任何应用程序时,我总是硬编码字符串,而不是从XML的字符串资源中引用它。应用程序工作正常,但给出了使用@string
资源的警告
示例按钮:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="click here" />
我的问题是,如果我这样做了,是否会影响我的应用程序的性能,或者它(@string
资源)只是用于国际化。
发布于 2013-05-08 18:37:09
正如其他人所说,这是为了本地化,但对于性能,它取决于这些字符串每秒被查找的次数。我见过一个应用程序启动很慢的情况,堆栈采样显示50%的时间花费在字符串的资源查找上,查找字符串的原因是将它们显示在闪屏上,以便在应用程序启动时为用户提供一些查看内容!
发布于 2013-05-08 13:18:27
我不认为硬编码一个字符串会使你的程序运行得更慢。实际上,它将增强性能,因为不需要在R.java类中查找字符串。引用strings.xml
中的字符串是最佳实践,原因有两个:
1-本地化2-如果您在多个地方使用相同的字符串,并且想要在所有地方编辑相同的字符串,则可以节省单独编辑所有硬编码字符串的开销。
发布于 2013-05-08 18:23:27
硬编码字符串不会直接影响性能。它影响了可维护性。
当你硬编码一个字符串的时候,如果你想把字符串"Click me“改成"add”或者其他什么,那么你需要搜索整个项目来改变字符串的使用位置和所有内容。所以更好的做法是始终关注strings.xml。:)
https://stackoverflow.com/questions/16433095
复制相似问题