文字列ビルダー(または文字列バッファー)の最大容量はどれくらいか疑問に思いました
Androidアプリに静的変数があり、ログ文字列を保持することになっています。私はそれが保持している最大は130行と約10000文字です。さらに追加すると表示されません(エラーなし、例外なし)
だから私は文字列ビルダーに置かれた、または静的変数の長さにアンドロイドによって課されたある種の制限があるのだろうかと思っていましたか?
どうもありがとうございます
文字列ビルダー(または文字列バッファー)の最大容量はどれくらいか疑問に思いました
Androidアプリに静的変数があり、ログ文字列を保持することになっています。私はそれが保持している最大は130行と約10000文字です。さらに追加すると表示されません(エラーなし、例外なし)
だから私は文字列ビルダーに置かれた、または静的変数の長さにアンドロイドによって課されたある種の制限があるのだろうかと思っていましたか?
どうもありがとうございます
Java StringBuilder の最大容量は非常に大きく、Android では 16mbyte です。
StringBuilder は、追加時に自動的に容量を増やす必要がありますが、メソッドを使用して追加のスペースを強制的に割り当てることができますensureCapacity()
。
myStringBuilder.ensureCapacity(int minimumCapacity)
そのため、テストとして、より大きな容量に設定して、容量に問題があるかどうかを判断できます。
これは StringBuilder の制限ではなく、テキストを表示しているウィジェットの制限です! たとえば、TextView で長いテキストを表示している場合は、次の行の使用を検討する必要があります。
textView.setFilters(new InputFilter[] { new InputFilter.LengthFilter(
263000) }) // or any other large number that is enough for you
この問題は一部のデバイスにのみ固有のものであるとどこかで読みました。