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は同じように動作します

Source: https://habr.com/ru/post/J65295/


All Articles