2016-06-29 31 views
1

私は、GMap.NetをWPFでテストしています。これまではGMapControlを追加しただけでなく、必要なものをいくつか設定していました(CacheLocation、MapProvider、Zoomなど)。私のウィンドウを閉じると、VSがデバッグセッションが終了したことを認識するまでに時間がかかりますが、コントロールはうまくいきます。GMap.Net:ウィンドウが閉じた後、処理に時間がかかる

明らかに、私のアプリケーションのプロセスは終了する前にしばらくの間実行されています。これはVSのバグではありません。この遅延は、ウィンドウを閉じる直前にズーム/パンすると表示されます。私は何かがまだ実行されていると推測したいと思うが、私はこの問題にどのように対処するか分からない。

この問題が発生した場合、解決策がありますか?

+0

の私のインスタンスを命名するものであるあなたは、自分の[議論](https://greatmaps.codeplex.com/discussions)ページでこれをお願いしてみましたか? – Clemens

+0

答えはありませんが、あなたがそれを求めたからです:いいえ、私はwinformsとwpfの両方でlibを使用したラグの動作を経験していません。 – rdoubleui

+1

@Clemens私は遅延がどこから来るのかを追跡することができました、それは 'GMaps'の' CacheEngine'スレッドから来ています。明らかに、キャッシュ操作の全体のキューを実行しようとしています。それは使い捨てではなく、GMapControlの 'Dispose()'メソッドによって呼び出されない 'CancelTileCaching()'です。 – Jai

答えて

0

まだスレッドが実行されているようなサウンドです。私はクラスがIDisposableインターフェイスを使用していることに気付きました。アプリケーション/ウィンドウを閉じるときは、.Dispose()メソッドを呼び出して使用中のリソースをすべてクリアすることをお勧めします。

+0

GMapControlをサブクラス化し、 'Dispose()'をオーバーライドしました。メインウィンドウを閉じると既に呼び出されています。しかし、プロセスが終了するまでにはまだ約3〜4秒かかります。 – Jai

2

あなたのプログラムはまだタイルをキャッシュしています。

プログラムを終了するか、フォームを閉じるときに、gMap.Manager.CancelTileCaching();に電話するだけです。

gMapは私がgMap.Net

+0

うん、それは私がやったことだ。 – Jai

関連する問題