2012-09-08 232 views
2

我想知道什么是字符串生成器(或StringBuffer的)StringBuilder的最大长度

最大容量为我在Android应用程序有一个静态变量,它应该保存日志的字符串。我最大的是130线和约10000字符。我如果追加更多,但它不显示(没有错误没有例外)

所以我想知道是否有某种限制放置在字符串生成器或强加给android静态变量长度?

非常感谢您

+0

有用的链接:http://stackoverflow.com/questions/1179983/how-many-characters-can-a-java-string-have –

+1

你怎么试图“显示”这个字符串 - “只是不显示“不是特别有用。 – CommonsWare

+0

为什么要记录到StringBuilder?您是否计划定期将其清除到文件或数据库? (或者你的意思是“长”而不是“日志”?) –

回答

0

这不是对StringBuilder的限制,而是限制了你正在显示文本的小部件!例如,如果你是显示在一个TextView长文本,那么你应该考虑使用这一行:

textView.setFilters(new InputFilter[] { new InputFilter.LengthFilter(
      263000) }) // or any other large number that is enough for you 

我读的地方,这个问题是特定于某些设备。

+0

我认为这是问题所在。我没有使用小部件,但那促使我检查eclipse调试配置,并且显然调试器不会显示超过130行的大致 – Snake

+0

因此,只要您不想在屏幕上显示它,并且您确定它在这里完全是(通过检查String的大小),所以我认为完全没有问题。 – yrajabi

0

的Java的StringBuilder的最大容量是巨大的,在Android这是16兆字节。

当你附加到它时,StringBuilder应该自动增加它的容量,但你可以强制它使用ensureCapacity()方法分配额外的空间。

myStringBuilder.ensureCapacity(int minimumCapacity) 

所以,作为一个测试,你可以将其设置为一个更大的容量和确定容量问题或没有。