ByteArray最大长度限制

如果不断向ByteArray写入数据,终于会写满,然后报错:

Error: Error #1000: The system is out of memory.
at flash.utils::ByteArray/writeUTF()

ByteArray的长度length属性是uint,意味着有最大限制长度的。uint.MAX_VALUE为4,294,967,295,等同字节数为536870912。如果length超过这个值就会报错。
不清楚为什么boolean方式写到134217727就不行了,正好为最大值的1/32

while(ba.length < 134217728)
{
    ba.writeBoolean(true);
}

你可能感兴趣的:(FLASH)