2016-11-14 10 views
0

私は、中断中に現在のページの状態を保存するUWPアプリケーションを持っています。特定のページについては、いくつかのモデルを保存するだけです。状態ファイルは約です。 50〜60kb。しかし、一部のユーザーにとっては、現在の状態を保存するには時間がかかり、システムはアプリを終了させます。状態の保存に時間がかかり過ぎると、実際の終了状態を検出する方法はありますか?

イベントビューアの下にログが表示されます。だから私はかなり節約が長引くので、これが確かです。私はExtendedExecutionを使用しようとしましたが、どちらも助けにはなりませんでした。

ステートの保存に関する詳細情報を得るには時間がかかりすぎる、または何らかの方法を検出する方法はありますか?

これは、すべてのユーザーではなく、一部のユーザーにのみ発生します。私が保存しているモデルは、実行中のコンピュータにはあまり負荷がかかりません。私はプリズムでMVVMパターンを使用しています。

+0

50kbの状態はすでにかなりです。このすべてが必要であるか、たとえば状態を復元するのに十分なIDを保存しますか?しかし、それでも、これはあまりにも長くかかるべきではありません。あなたが問題を見つけるのを助けるために見ることができるレポを持っていますか? – Bart

+0

残念ながら私はrepoを会社のアプリだから共有できません。私はGuidのようなシステムタイプを使っています。ランタイム・ディレクティブの下で定義されているいくつかのモデルを保存する必要があります。 システムの種類としてすべてを保存し、すぐに結果を共有しようとします。私はちょうどそこにこのシステム終了のより多くの情報を得るための方法があるのだろうかと思っていた。 –

答えて

0

...問題のあるデバイスについて詳細な調査を行ったところ、NetworkInformationクラスが一般的にシステムをフリーズしていることがわかりました。このフリーズは私のアプリにも影響し、最終的にIOに関連するすべてのものがその期間中フリーズされます。

これは、ネットワークカードのドライバの問題のようなものであることが判明しました。ユーザーが3GモデムをUSBポートに接続するたびに、NetworkInformation(Windows設定自体を含む)クラスをアクティブに使用するものはすべて凍結されます。私の場合は、それは国家サービスの問題だと思っていました(それはやがて結局です)。それは実際にはそうではありません。

1)ユーザーが端末を接続し、アプリの使用を開始します。 2)凍結が起こった後、彼は遠ざかり、デバイスをロックします。 3)ユーザが戻って画面のロックを解除すると、ネットワークカードドライバが起動し、NetworkInformationを使用しているすべての情報が通知されます。 4)ロックを解除すると、アプリは状態を復元しようとしますが、一般的なフリーズのために状態を復元することはできません。 5)Windowsは、自分のアプリケーションが状態を復元できないと判断して終了します。

良い情報として、デバイスはWindows 10で動作するHP Elite X2でした。問題はすべて3G-4G USBモデムに関するものでした。それはすべてのWifiでよく見ていた。それはデバイス自体のネットワークドライバの問題のように思えましたが、私はいつもNetworkInformationを嫌っていました...

関連する問題