我刚刚注意到,使用@:file标记(或openfl.Assets)时,Haxe(openFL)将单个嵌入文件的大小限制为16MB。Flash / Flex可以直接嵌入更大的文件。解决问题的方法是将一个大文件拆分为几个小文件,然后在运行时将它们合并。但这有时不是很方便。那么有没有更好的方法可以绕过Haxe中的这个限制呢?
首先,嵌入这么大的文件通常不是一个好主意:
但是,说到解决确切的问题……我不确定SWF是否允许完全嵌入这么大的数据块(需要查看字节码规范),但无论如何似乎都存在局限性,因为对字符串大小的ocaml内部限制。我相信它可以固定,但是您需要重写haxe swf生成器的一部分。
如果您不想修复编译器(如果swf不允许嵌入这么大的块,则可能无法修复),那么您可以使用一个简单的宏,该宏将透明地将文件分片,嵌入和在运行时重新组装。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句