我刚注意到,当使用@:file标签(或openfl.Assets)时,Haxe(openFL)将单个嵌入文件的大小限制为16MB。 Flash / Flex可以直接嵌入更大的文件。我解决问题的方法是将一个大文件拆分为几个较小的文件,并在运行时将它们合并。但有时这不太方便。那么在Haxe有没有更好的方法来绕过这个限制?
答案 0 :(得分:2)
首先,嵌入这么大的文件通常不是一个好主意:
但是,谈到解决确切的问题......我不确定swf是否允许嵌入这些大块数据(需要查看字节码规范),但无论如何似乎是限制是因为字符串大小的ocaml内部限制。我相信它可以修复,但是你需要重写部分haxe swf生成器。
如果您不想修复编译器(在swf不允许嵌入这个大块的情况下可能无法实现),那么您可以使用一个简单的宏,它会透明地将文件切片,在运行时嵌入并重新组装。