Internet Explorer + Flash Player + IE Skypeアドオン=メモリリーク

数年間、私たち( anychart.com )は定期的にバグレポートを受け取ります 。その本質は、ページが更新されるとInternet Explorer 6/7(およびその中のFlash Player 9/10)のメモリがひどく流れることです。 私たちは長い間、一生懸命にこの問題の解決策を見つけようとしました。顧客を失い、夜眠れませんでした。 時間が経つにつれて、IE + Flash Playerは私の悪夢になりました。 私たちはアドビとマイクロソフトの両方でしたが、彼らがそれとは何の関係もないとは考えられませんでした。

今日、奇跡が起こりました。 2台の同一マシンでの次のテストでは違いがありました。1台でメモリリークが発生し、もう1台では発生しませんでした。 長く持続的なブレインストーミングは、すべての悪の根源を発見しました。 Internet Explorer Skypeアドオン!



-----

更新:

彼らはSkypeから私に連絡しました。 投稿に追加

PeterKalmström、PM Skypeツールバー:

1.これは、アドオンwww.screencast.com/t/BrlWxmckTd3のみを無効にする方法です。 ユーザーがSkypeを削除したくない

2. Skypeと緊密に連携して、できるだけ早く修正を行います。このスペースをご覧ください。

-----

もう1つの更新:

ブログへの英語の投稿: www.anychart.com/blog/2009/07/27/anychart-has-discovered-bug-in-skype-skype-promises-to-fix-it-asap-2



さらに実験を行ったところ、Skypeがインストールされていると、誰でもページを更新/閉じるたびにアドオンメモリが増加することがわかりました。 swf。



だから、診断の確認。







何がありますか



環境


VMWareワークステーションで実行されているPure Vista SP1 x86 eng。

Internet Explorer 7.0.6001.18000

Flash Playerは、adobe Webサイト( get.adobe.com/flashplayer )にアクセスしてActiveXとしてインストールされた非デバッグ版のWIN 10,0,22,87です。 バージョンはここでチェックされました: kb2.adobe.com/cps/155/tn_15507.html



患者さん


9番目のFlash Playerでコンパイルされた空のSWFファイル。 彼のコードは:

package {

import flash.display.Sprite;



class SimpleSWF extends Sprite {

public function SimpleSWF() {

}

}

}







swfが組み込まれたswfobject 2.2のテストページ:

anychart.com/batsuev/flash-memory-leak/index.html



SWFハンドルが組み込まれたテストページ

anychart.com/batsuev/flash-memory-leak/index1.html



空白ページ

anychart.com/batsuev/flash-memory-leak/empty.html



運営



測定方法:Vista SP1 x86 engをvmwareにインストールしてから、最新のFlash Playerをインストールしました。

IEはコマンドラインを使用して開きました。



iexplore「ここはページのアドレスです」



さらに、F5は更新と更新の間の15秒の待ち時間で頑固に詰まりました。



したがって、空のページとその20回の更新を、スカイプアドオンの有無にかかわらず比較します。







原則として、メモリの使用に特別な増加はなく、悪いことは何も起こりません。



<object> Flash-coyを使用して、組み込みのページを開きます。







ページの更新ごとに最大2メガバイト 。 タブを閉じても効果はありません。IEを再起動するだけで役立ちます。



同じことですが、swfobjectを使用してswfを埋め込みます。







更新ごとに約2メガバイトの成長が得られます。



(少しのPR:グラフィックは画像​​として保存を介してanychartによって描画されます)



結論



Skypeプラグインがインストールされていると、Flash Player ActiveXはメモリをクリアしません。

swf-keが空の場合、更新はページの更新ごとに2メガバイトになります。



パニック



Skypeアドオンが有効になっていることを確認し、YouTubeを開いて、メモリを確認します。 28.8メガバイトになりました。 1分間続く小さなビデオを見ています。 メモリは約53メガバイトになります。 空白-メモリがわずかに50メガバイトに減少します。



更新: Internet Explorer 8は同じように動作します



All Articles