-2

これは、Windows でよくある問題です。何年にもわたって、それは私が気づいたことであり、もうアプリを作りたくないという点まで私を本当に悪化させています. そこで、自分のアプリ内で修正してみることにしました。

アプリ (たとえば、Visual Studio、Windows エクスプローラー、Internet Explorer、Chrome、またはこれまでに作成されたその他のアプリ) を最小化てしばらくそのままにしておくと、アプリとアプリの間に大きな遅延 (3 ~ 20 秒) が発生します。タスクバーのアイコンをクリックしてから、再び WindowState.Normal に到達するまで。

どうしてこれなの?デスクトップでプロセスが最小化されている場合、Windows がプロセスを中断しないのはなぜですか? また、自分のアプリ内でこの問題を解決するにはどうすればよいですか?

タイマーの使用を考えました。アプリを最小化するときにタイマーを開始し、しばらく実行してから、最小化してから約 10 ~ 15 分後に、まだ復元されていない場合は、メモリを解放するためにいくつかのリソースの解放を開始します。 -これにより、アプリの最小化を解除しようとしたときにERで待っているように感じないように、応答時間が速くなると思います。しかし、タイマーがこの問題に対処する正しい方法であるかどうかはわかりません。また、これが正しい解決策であるかどうかもわかりません。私が知っているのは、私がこれにうんざりしていて、何かをする必要があるということだけです.

誰もこれを以前に扱ったことがありますか?記事はありますか、またはこのような問題に対処する MSDN ドキュメントはありますか?

アプリのリソースをより適切に管理して、しばらく非アクティブなときにリソースが遅くならないようにするにはどうすればよいですか?

  • この問題はどのアプリにも共通しています。私だけではありません。

編集:何をすべきかわかりません。私はusing()何かが実装されているときはいつでもを有効に利用IDisposableしていますが、リソースを解放したり、応答時間を短縮したりするには、他にどのようにすればよいかわかりません。

4

1 に答える 1

2

あなたが説明した症状は、マシンに物理メモリが不足していることを示しているようです。アプリケーションを最小化して別のアプリケーションをアクティブ化すると、最小化されたアプリケーションのメモリ ページの多くがディスクにスワップ アウトされます。アプリケーションを再度アクティブ化すると、他のアプリケーションに属するページがディスクにスワップ アウトされ、アクティブ化したばかりのアプリケーションに属する以前にスワップ アウトされたページが物理メモリにスワップ アウトされます。これには、ハード ドライブの速度が比較的遅いため、長い時間がかかります。解決策: RAM を追加します。比較的安価です。OS が 32 ビットの場合、最大 4GB まで使用できます。お使いの OS が 64 ビットの場合、マザーボードがサポートしているものは何でも限界です。

于 2013-07-01T04:49:14.470 に答える