5

状態をローカル設定に保存するのに少し問題があります。alt誰かが+f4を使用してアプリケーションを閉じ、10 秒が経過する前にアプリケーションを開いた場合 (10 秒後にアプリケーションが一時停止状態になり、データが保存される)の状況を除いて、すべて問題ありません。(テクノロジー xaml/c#)

データを event に保存しますOnSuspending

OnLaunched次のようなイベントでデータをロードします。

if (args.PreviousExecutionState == ApplicationExecutionState.Terminated ||
args.PreviousExecutionState == ApplicationExecutionState.ClosedByUser)
{
  // save data
}

この状況をどのように処理しますか? 状態が変更されるたびに状態を保存できることはわかっていますが、アプリケーションではお勧めできません。手伝ってくれてありがとう !

4

2 に答える 2

2

OnSuspending10 秒が経過する前にアプリケーションを閉じて起動すると、その別のインスタンスが作成され、前のインスタンスはイベントを実行しません(このイベントのような非同期操作が終了するか、警告なしに開始されない可能性があることを意味するため、奇妙です)。これは面倒だと思いますが、なぜあなたのユーザーはそのようなことをするのでしょうか? ほとんどの場合、ユーザーはアプリケーションがクラッシュしたか、スタックしてメイン ページに戻れないためにアプリケーションを「再起動」します。これらのシナリオを防ぐように努める必要があり、そのような考えはめったに起こりません。

ただし、これは、ユーザーが何かをするのを忘れてアプリを再起動したいために発生することもあります。ユーザー データの損失を防ぐために、機会があれば最も重要なデータを保存し、残りのデータのみを保存しOnSuspendingます。どのデータが失われた場合にユーザーを混乱させるかを考える必要があります。

Microsoft は、アプリケーションの状態を保存するためのより良い方法を取得する必要があると思います。この問題についてよく検索しましたが、説明が見つからなかったので、今のところ、上記のことを続けます。あなたが作成したこの質問が、私の意見では、この奇妙なケースについて私を助け、明確にすることができることを願っています.

于 2013-03-28T20:42:40.603 に答える