2014年12月20日のブックマーク (1件)

  • バックグラウンド スレッドで UI 要素を作るとメモリリークする (WPF) | grabacr.nét

    題記の通りなのですが、一時ハマったので共有します。 正確には、「バックグラウンド スレッドで DispatcherObject を作るとメモリリークする」ですね。 例えば、バックグラウンドで画像をダウンロードして加工したり。 もしくは Grid や TextBlock といった UI 要素を使って、サムネイルやら何やらの画像を生成したいときとか。 ImageSource は Freezable なので、バックグラウンドで画像を作って Freeze() してしまえば、UI スレッドに渡してもだいじょうぶ。 なるべく UI スレッドの負担を減らしたいのです。 ということで、以下のようなコードを書いてみます。 サンプルなので Console アプリですが、PresentationCore, PresentationFramework, WindowsBase, System.Xaml あたりを参

    バックグラウンド スレッドで UI 要素を作るとメモリリークする (WPF) | grabacr.nét
    minazoko
    minazoko 2014/12/20
    WPF メモリリーク