Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
デストラクタについて
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=2466#CommentId19609
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
るしぇ
 ()
投稿日時
2008/7/16 04:50:00
>普通は、Using を使います。
>実行時に解決するなら、TypeOf や TryCast で判定します。
すいません。まだボクの周りの主流が.NET2003なので^^;
If TypeOf obj Is IDisposable Then
で判定できました。ありがとうございます。
>VB.Netのガベージコレクタの処理も場合によれば結構時間が
>かかるものなのでしょうか?
お掃除に掛かる時間のことでしょうか?
お掃除を始めるまでの時間のことでしょうか?
メモリが足りなくならないとガベージコレクタが動かないっていう
話があって、SPREAD を貼り付けたフォームを大量に生成して閉じる
処理でテストしたことがあります。タスクマネージャでメモリ使用量が
8割を超えるくらいまでずーっと増え続ける現象を確認しました。
もちろん Dispose してます。
結構溜め込んでいたのでメモリ使用量が減ってから落ち着くまでの
処理時間は2.5秒くらいでした。
そんなことを某掲示板で書いていたら『ガベージコレクタの動きは
環境によって変わります』って書き込みがありました。でも、ボクの
周りで確認できているのは、この増え続けて足りなくなった時点で
数秒かけて減るというパターンのみですね。
>クラスの破棄を自発的に正しく行わないとガベージコレクタ任せに
>なってしまう心配
自発的に正しく破棄してもガベージコレクタ任せですよ?
Dispose したから即メモリ解放ではありません。
[ガベージコレクション入門]
http://www.microsoft.com/japan/msdn/net/mag00/GCI.aspx
http://www.microsoft.com/japan/msdn/net/mag00/GCI2.aspx