2012-09-03 28 views
3

有人能告诉我什么是更好的性能?性能与字符串工作android

是更好节省2串在string.xml,像'abc''abc:'

或者我应该只能保存第一一个串连':'需要在Java编码时???

回答

1

很难回答,具体取决于您的字符串将代表什么以及需要追加的内容。本地化也是一个问题,例如...

Dog // English 
Chien // French 
Hund // German 

使用字符串资源允许您创建根据设备的区域设置不同的资源文件和Android将自动使用正确的本地化的字符串资源文件。如果您只需附加一个字符(如:),那么您将每种语言的每个字符串加倍。

如果您选择只保存基本字符串并使用代码追加字符,那么代码将是通用的,您只需将该字符追加到任何本地化字词 - 可能效率会更高。

+1

对,这就是我的想法。如果是追加两个字符串,这两个字符串可以用于不同的地区/语言,是的,这两个字符串都是有意义的。但在这种情况下,我需要的是追加单个通用字符,所以我只会存储字符串。 谢谢!!! – MSerra

1

无论从存储角度还是性能上,您都应该只保存“abc”;

  • 从磁盘获取额外数据需要更长的时间,因为一些快速内存中操作。
  • 存储相同数据两次是在一般
+0

太好了。是的,这有点像其他的一切。谢谢! – MSerra

0

如果你要连接多个字符串,你应该使用StringBuilder不好的做法 - http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/StringBuilder.html

它的速度更快,然后使用“+”或” .concat() '

+2

这是一个神话。编译器使用'+'将字符串连接转换为与使用StringBuilder结束时相同的字节代码。唯一一次你想用StringBuilder来打扰的是当你通过几个语句建立一个字符串时。至于“更快” - 你有基准来支持这一点吗? –

+0

他是对的,我再次检查 - 当你说我意识到我最初读的是Visual Basic 6(在这种情况下它更快) - http://kaioa.com/node/59 – RobertMaysJr