前些时间做了一个Flash调用摄像头的项目,帮忙测试的同事反馈,在出现内置操作界面进行允许和拒绝操作时,如果等待了一段时间会,整个桌面都会挂掉。

立马处理这个问题,还担心是截取画面的bitmapData没有清理造成的,但是发现不对,出现允许和拒绝界面时还没有开始调用摄像头视频,余下的截取画面操作应该也不会进行的。

在任务管理器中看到对应的浏览器进程的使用内存会不断的上升。重点看内存增量项。

2008-12-24_131605

一直下去就会将界面挂掉。尽管内存使用的并不是很多。

2008-12-24_043030

一番下来,干脆做了一个问题检测工具。

我的测试结果如下,最新的Flash Player 10存在问题。

version:WIN 10,0,12,36
vmVersion:1.0 cyclone

gc(垃圾回收)能正常运作,可以看到System.totalMemory获取到内存使用会周期性的降低。但是进程所分配的内存并没有降下来。

最终会导致机器缓慢,界面绘图混乱。

Adobe目前最新的就是10,0,12,36,win平台下的三种版本均出现该问题,其他平台下的版本具体情况不明。

总结为:只要显示内置的设置面板,就会出现该问题,同AS版和框架本无关。

记得前面写过的不能不说的秘密 Flsah Player全屏模式的BUG,现在有了姊妹篇了,问题将feedback给Adobe,相信下个更新版本能解决这个问题。