2011-03-14 55 views
0

我有一个加密的XML文件需要解密并显示在Flash中。加密的XML文件包含超过33000个字符,当我尝试解密时,Flash崩溃。 Flash可以解密的数据量有限制吗?我正在使用rijndael解密和Actionscript 2.0。使用Actionscript 2.0解密XML文件,内存问题?

+0

你是否收到任何错误信息? – weltraumpirat 2011-03-14 19:33:16

+0

只是脚本导致Flash播放器运行缓慢,如果它继续运行,我的电脑可能会变得无响应。然后它问我是否要中止。如果我不这样做,它就会不断重现。该文件中唯一的代码是解密的,所以它不是由其他任何东西引起的。 – decimal 2011-03-14 23:31:21

+0

你可以发布该代码吗? – weltraumpirat 2011-03-15 00:42:51

回答

0

你的问题是在Flash中不存在的多线程能力造成的:所有的计算都应该发生“的中间帧”,即用户的算法不应该需要更长的时间比屏幕刷新在该区间运行。如果您的计算时间过长,Flash播放器将首先开始丢帧,并且(除非您更改设置)在15秒后显示您描述的警告。

您可以通过“传播”跨越多个帧你的算法,确保只有计算的一部分被执行,直到画面被刷新解决这个问题。你可以,或者通过实施类似Alex Harui's PseudoThread类(基本上不相同,但配备了封装和所有的爵士乐)通过简单的加密字符串分割成足够小部件和执行的enterFrame事件循环解密一次一个这样做。