人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

次のようにページを他ウィンドウで開いた場合
<A href='http://maps.google.co.jp/' target='_blank'>Google Map</A>
<A onClick="window.open('http://maps.google.co.jp/')">Google Map</A>

開いた子ウィンドウを閉じても、メモリ消費が回復しません

Windows xp で タスクマネージャ>パフォーマンス から
物理メモリ の 利用可能 項目を比較したら

最初 2000MB
開く 1897MB
閉じる 1901MB

となりました
親ウィンドウを閉じるとメモリ消費はクリアされます

この現象の回避方法(メモリ消費を回復)する方法を教えてください

当方環境
windows XP SP2
IE 6.0.2900.2180.xpsp_sp2_gdr.070227-2254

●質問者: you_got
●カテゴリ:コンピュータ
✍キーワード:Google IE MAP Windows XP ウィンドウ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●27ポイント

手元にIE6が無いので現象を再現できませんが、メモリ領域を開放するフリーソフト「めもりーくりーなー」を試してみてください。

◎質問者からの返答

質問が言葉足らずですみません

使用者の立場ではなく、開発者の立場で質問しました

メモリ消費が回復するようにアプリケーションをつくりたい、という意味です


2 ● pahoo
●27ポイント

メモリ消費が回復するようにアプリケーションをつくりたい、という意味です

分かりました。

とはいうものの、Webアプリという前提だと、あまり良い解決策が思いつきません。


同様の現象は IE7 でも起きていますが、Safari では起きませんでした。これは、ブラウザ依存の問題、というよりMicrosoft依存の問題です。

そこで、動作しているブラウザが Windows + IE(バージョンを特定する必要があると思います)なら、ActiveXでガベージコレクトを発動するという手段が考えられますが、セキュリティ上、クライアント側で拒否されると思います。とくにVistaの場合は。


結局、W3Cの勧告「Web Content Accessibility Guidelines 1.0」に従い、子ウィンドウを開けずに画面遷移させるのが正しいWebアプリの姿ではないでしょうか。

◎質問者からの返答

子ウィンドウを開けるのは今回必須なんです

そういう勧告があったとは知りませんでした

ActiveX で javascript のガベージコレクトをコールできるんですね

初耳です

できましたら具体的な方法か、参考サイトを教えてください


3 ● pahoo
●26ポイント

ActiveXでガベージコレクト

you_gotさん、ardarimさん、ごめんなさい。訂正です。

できると思っていた方法でコードを書いてみたんですが、動きません。


.Net Frameworkの System.GC クラスに Collect メソッドがあるので、他の .NET と同様に JScript から

new ActiveXObject("System.GC");

で呼び出せると考えたのですが、呼び出せませんでした (m_m)。

GetTotalMemory すら呼び出せないので、GC クラスは対象外なのかもしれません。


msdn には JScript による呼び出し形式が書いてあるのですが‥‥

http://msdn.microsoft.com/ja-jp/library/system.gc.collect(VS.71).aspx


試した環境は WindowsXP(SP3) + IE7 です。

どなたか解決策をご存じでしたらヘルプお願いします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ