attribute of vector xml。在我的例子中,51k字符似乎是一个上限,而29k则可以。无论如何,我想它与manifest、string、style、attr、drawable、layout等特定类型的xml无关,我确信这是Android项目中任何xml的一个普遍限制。
所以,我很好奇,的限制是什么(我指的是在Android中允许使用一行字符的确切数量),以及为什么AndroidStudio在矢量导入时不应用它?看起来谷歌自己不知道这个限制,也可能是一个等级的限制。
请不要向我指出长弦是不好的-我确实意识到这一点,它不会取消我的问题。
各位,请仔细阅读我的问题和其他问题,这样你们可能会认为这些问题是骗人的!我的问题没有答案。
Android strings.xml length所以问题有着完全不同的含义。Asker询问是否有一种在strings.xml中获取字符串计数的方法。此外,我的问题与strings.xml无关,而是与任何xml文件有关。
Android IndexOutOfBound Exception for resource getString绝对是另一个例外/问题,对我的问题绝对没有给出任何答案。同样,我的问题与strings.xml完全无关。
What is the maximum amount of data that a String can hold in java?不是我要问的,它是关于String类限制的。即使它是相关的,那么限制也是关于Integer.MAX/2(因为Unicode需要2个字节来编码一个字符),所以它在任何方面都不是51k字符。
发布于 2019-05-08 09:02:04
我猜读到你的问题的时候,这个限制应该在29k到51k之间,但是被剪成了一个逻辑数字。
我也许已经通过测试找到了答案。正如您所说,一个字符存储在两个字节上。所以29k字符是58k字节,51k是102 k字节。“逻辑”限制为65536,因为它是2^16。因此,以字符为单位的限制为2^16 /2或2^15,即为32768。
我测试了如何在我的string.xml中放置字符串(基本上是‘a’的长行)
<string name="length_test32000">(32 000 a)</string>
<string name="length_test32767">(32 767 a)</string>
<string name="length_test32768">(32 768 a)</string>
<string name="length_test32769">(32 769 a)</string>
<string name="length_test33000">(33 000 a)</string>然后我试着记录它们的大小:
String test32k = getString(R.string.length_test32000);
String test32k767 = getString(R.string.length_test32767);
String test32k768 = getString(R.string.length_test32768);
String test32k769 = getString(R.string.length_test32769);
String test33k = getString(R.string.length_test33000);
Log.i("tag", "32000 : "+test32k.length());
Log.i("tag", "32767 : "+test32k767.length());
Log.i("tag", "32768 : "+test32k768.length());
Log.i("tag", "32769 : "+test32k769.length());
Log.i("tag", "33000 : "+test33k.length());以下是研究结果:
I/tag: 32000 : 32000
I/tag: 32767 : 32767
I/tag: 32768 : 16
I/tag: 32769 : 16
I/tag: 33000 : 16从32768开始,它似乎被截断了,所以我记录了里面的内容
Log.i("tag", "32768 : "+test32k768.length() + " content : " + test32k768);结果是:
I/tag: 32768 : 16 content : STRING_TOO_LARGE最大字符似乎是为32767 (2^15 - 1)字符.我没有找到任何官方医生这么说,但这是我在测试时发现的。
https://stackoverflow.com/questions/56035887
复制相似问题