我将格式化的单行文本(没有\ n)放到不可编辑的TextView中。在程序的导航中,可以更改文本。在某些文本中,TextView缩小到0x0像素,我什么都看不见!我添加了一些菜单来每次截断文本10个字符,我发现如果字符数大于4470,TextView会缩小。
通过将\ n放在两者之间将文本分成几行来解决问题,但这不是我的意图。
您能帮我查一下这是否有记录,或者是否有任何可以设置来消除此限制的内容?
答案 0 :(得分:0)
我做了一些测试。似乎此值不是固定的。每次都上下移动。 但是有一些限制:
在我的第一个测试中,它一行最多可以记录 179 899个字符。
通过将android:maxLength="10000000"
添加到xml中,我达到了 184200 。但是这个数字只有一次。
在每个字符之后\n
换行时,我的字符数达到 750 000 。
有趣的是,textView从来没有像那时那样缩小过。该应用程序崩溃了:
Throwing OutOfMemoryError“无法分配32字节分配 具有0个空闲字节和0B,直到OOM,目标占用空间536870912,增长 限制536870912“(VmSize 2143664 kB,递归情况)
我使用的Pixel 3 API 29仿真器具有1536 mb ram,256 mb堆和以下代码:
StringBuilder stringBuilder = new StringBuilder();
for (int i = 0; i<750000; i++) {
stringBuilder.append("A\n");
}
textView.setText(stringBuilder);
我在documentation中找不到任何内容。
最重要的是没有 practical 最大值,而今天的手机有更多的存储空间...