實際上,我自己找到了解決方案,但是當我搜索Adobe論壇並在此之前發現問題反覆出現但從未解決時,我想回答我自己的問題,以便爲未來的谷歌搜尋某人。Flex VideoDisplay只是平坦的泄漏
但無論如何,它泄漏,並從以前的評論者判斷,在無數的情況。在我的情況下,它在另一個SWFLoader中的SWFLoader中,當父SWFLoader消失時,視頻停留在內存中,並且沒有removeEventListener或gc.collect組合或者RemovedFromStage處理程序中的什麼組合可以解決此問題。您可以在那裏停止視頻,因此它不會繼續播放,但仍然保留在內存中,每次運行時都會添加另外10Mb左右的視頻。
而且在括號內,我只是很迷惑Adobe如何讓像這樣的東西像他們一樣不斷修復。顯然有些事件監聽器被埋在自己代碼的某個地方,而這些代碼從來沒有發佈過,但顯然他們可能不太在意。我認爲這種事情至少應該是閃現日益邊緣化的原因之一。對我來說,閃存開發人員的數量似乎也並不理解這個問題,他們認爲這不是一個問題,直到幾乎所有的系統內存都被佔用,瀏覽器崩潰。那麼,從我自己的傳統應用程序開發來看,在任務管理器中看到每當用戶點擊一個按鈕並且從未發佈時內存不斷地變得不可接受。
所以最初我開始尋找第三方彈性視頻播放器,並立即跑過Open Source Media Framework。在他們的軟件包中,他們實際上有許多不同的方法和類,通過它們可以調用視頻。我嘗試了其中的一些(MediaPlayerSprite,MediaContainer,VideoElement,LightweightVideoElement等),但所有這些都泄漏了,就像Flex的VideoDisplay一樣!很明顯,Flex VideoDisplay使用我認爲(也許)背後的OSMF代碼。無論如何,整個其他公司並不關心泄漏 - 令人難以置信,莫名其妙。
它絕對是一個Flex的問題,我想指出的下方,flash.media.Video可以成功釋放。實際上,我並沒有在Flex/AS3層次結構中訪問名爲VideoPlayer的類。 – Mark