3

株式市場のアプリケーションがあります。ユーザーがアプリケーションにログインすると、サーバーからセッションキーが送信されます。このセッションは、ユーザーがアプリケーションからログアウトするか、数分間何もしないまで有効です。

私の最初の問題(すでに解決済み)は、アプリケーションにログインした後、ユーザーがホームボタンをクリックし、その後アプリケーションのアイコンをクリックしたときでした。これで、ログイン後、(サーバーから送信された)メッセージに「ユーザーIDは使用中です」と表示されます。共有設定にセッションIDを保存することで、この問題を解決しました。

さて、クライアントは、この話に基づいて同じ問題があると報告しました。

  • アプリケーションへのユーザーログイン
  • その後、ユーザーはホームボタンをクリックします
  • ユーザーは設定/アプリケーション/アプリケーションの管理に移動します
  • アプリケーションを選択し、[アプリケーション情報]ページで[強制停止]ボタンをクリックします
  • ユーザーが再びアプリケーションリストに戻り、アプリケーションを選択します
  • ログイン後、「Session Expired」メッセージが表示され、アプリケーションは再びログインページに転送されます
  • これで、ユーザーがログインしようとすると、セッションIDの有効期限が切れていないときに、上記のメッセージ(「ユーザーIDは使用中です」)が表示されます。

知りたいのですが、「強制終了」ボタンは実際に何をするのですか?アクティビティのすべてのインスタンスをクリーンアップしますか?ホームボタンをクリックして押したままにすると、アプリケーションのインスタンスがまだメモリに残っていることがわかります。したがって、「強制終了」ボタンの役割は何ですか?

  • これで、ユーザーが自分のパスワードを入力すると、「ユーザーIDは使用中です」が再び表示されます。
4

3 に答える 3

4

アプリケーションがForceClosedの場合。

アプリケーションは閉じられ、Androidはアプリケーションが占有しているすべてのメモリをクリアします。

そのため、アプリケーションを強制的に閉じてstatic data member's are destroyedメモリから削除すると、ここでは、SQLiteパフォーマンスを向上させるためにデータベースを使用できます。

ForceClose手段:実行中のアプリケーションを閉じてメモリを解放します。

于 2011-10-31T05:53:07.727 に答える
4

あなたの質問は答えられましたが、私は1つのポイントを追加したいと思います。あなたはそれについて言及します

ホームボタンをクリックして押したままにすると、メモリ内にアプリケーションのインスタンスがまだあることがわかります

ホームボタンを長押しすると表示されるのは最近のアプリのリストであり、現在メモリ内にあるアプリのリストではないことに注意してください。したがって、アプリが強制終了された場合でも、最近使用されたため、このリストに表示されます。

于 2011-10-31T06:15:10.780 に答える
0

実際には、アプリケーションに戻って終了するだけです。

電話の設定、アプリケーションで参照してください。

あなたのアプリケーションは私たちの電話で閉じていませんでした。

それはまだ生きていて、バックエンドで実行されます。

強制終了後、バックエンドからも閉じます。

于 2011-10-31T05:45:13.157 に答える