Android StringBuilder可以';附加

Android StringBuilder可以';附加,android,limit,stringbuilder,Android,Limit,Stringbuilder,我正在尝试使用Stringbuilder附加到字符串。不幸的是,在一定数量的字符之后,Strinbuilder不再追加 我尝试了以下简单代码: StringBuilder sb = new StringBuilder(); for(int i = 0;i<=9999;i++){ sb.append("c"); } StringBuilder sb=新建StringBuilder(); 对于(int i=0;i而言,logcat消息的最大长度略低于4

我正在尝试使用Stringbuilder附加到字符串。不幸的是,在一定数量的字符之后,Strinbuilder不再追加

我尝试了以下简单代码:

    StringBuilder sb = new StringBuilder();
    for(int i = 0;i<=9999;i++){
        sb.append("c");
    }
StringBuilder sb=新建StringBuilder();

对于(int i=0;i而言,logcat消息的最大长度略低于4k(4096字节-一些开销),因此您似乎正在记录
c
s并从截断的logcat消息中计算它们

#define LOGGER_ENTRY_MAX_LEN        (4*1024)
#define LOGGER_ENTRY_MAX_PAYLOAD (LOGGER_ENTRY_MAX_LEN - sizeof(struct logger_entry))

你是在logcat输出中计算它们还是在使用.Length()?你没有显示你是如何使用logcat的,但是如果你只是打印到日志sb.Length()试试
System.out.println(sb.toString().Length());
你说得对!我真是太蠢了:(感谢您的回答!为了清楚起见,System.out.println通常会被重新定向到logcat(Log.i()),这就是为什么System.out会受到这些约束的原因。