Android 中的最佳实践是什么,创建新的字符串对象(静态最终)还是仅使用 string.xml 文件(并调用许多 getter)?
在 Android 中,关于如何获得最佳性能(例如减少垃圾收集器)存在冲突。
首先,在 Android 最佳实践中,建议避免 getter 和 setter,并避免创建短暂的对象(例如:private static final String name =“my name”)。那么,我应该如何处理代码中的所有字符串呢?我是否应该将它们全部设置在 string.xml 文件中,然后使用“this.getString(R.string.myString)”获取它,或者它仍然对性能有好处,继续使用“static Final String name =“my name”? ?
由于我的应用程序中存在大量字符串,如果我仅使用 string.xml 中的字符串,那么所有代码中的“getString”就会太多,这不是很糟糕吗
In Android there is an conflict about how to get the best performance (like less Garbage Collector).
First, In Android best practices it recommends avoid getters and setters and also avoid creating short lived objects (like: private static final String name = "my name"). Then, what should i do with all strings that I have in my code? Should I set all of them them in the string.xml file and then get it using "this.getString(R.string.myString)" or its still good for permformance keep using "static final String name = "my name" ???
Due to the big amount of strings in my app, if I use only strings from string.xml it would be too many of "getString"s in all code, isn't that bad?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
调用 getString() 会产生轻微的性能开销,但不会产生额外的内存开销。使用 string.xml 将使管理字符串变得更加容易。如果您将来选择这样做,也可以更轻松地本地化这些值。
此外,资源文件中的值将被编译为
最终静态字符串
,因此最终的结果类似。There is a slight performance overhead in calling
getString()
but no extra memory overhead. And using string.xml will make managing your strings a lot easier. It also makes it much easier to localize these values if you ever choose to do so in the future.In addition, the values in your resource files will be compiled into
final static Strings
so it works out similar in the end.