我有一个加密的XML文件,需要在Flash中解密并显示。加密的XML文件包含超过33000个字符,当我尝试解密时Flash崩溃。 Flash可以解密的数据量是否有限制?我正在使用rijndael解密和Actionscript 2.0。
答案 0 :(得分:0)
您的问题是由Flash中不存在的多线程功能引起的:所有计算都应该发生在“中间帧”之间,即用户算法执行的时间不应超过刷新屏幕的时间间隔。如果您的计算时间太长无法完成,则Flash播放器将首先开始丢帧,并且(除非您更改设置)在15秒后显示您所描述的警告。
你可以通过在多个帧中“扩展”你的算法来解决这个问题,确保只有部分计算被执行,直到刷新屏幕。您可以通过简单地将加密的字符串拆分为足够小的部分并执行enterFrame循环来一次解密一个,或者通过实现Alex Harui's PseudoThread类(基本上相同,但附带封装和所有爵士乐。)