0

検索しましたが、問題に関連する回答が見つかりませんでした。

時折、Android アプリの読み込みが遅くなります。私は通常、戻るボタンを使用してアプリを閉じます。アプリを再度起動すると、特にメイン アクティビティから他のアクティビティを開始した後、アプリの読み込みに時間がかかることがあります。Intent.FLAG_ACTIVITY_SINGLE_TOPフラグを使用して新しいアクティビティをロードします 。

戻るボタンを押してもアクティビティが適切に停止しなかったと思われます。そのため、他のときにアプリを再起動すると、読み込みが遅くなります。再起動する前にアプリを強制停止すると、すぐに読み込まれます。

私の質問は

  1. finish()戻るボタンを押したときにアクティビティを開始する必要がありますか?
  2. 別のアクティビティに移行するために使用Intent.FLAG_ACTIVITY_SINGLE_TOPしていますが、それは正しいフラグですか?

ありがとう

4

2 に答える 2

2

developer.android.comFLAG_ACTIVITY_SINGLE_TOPからの引用

設定されている場合、アクティビティが履歴スタックの最上位で既に実行されている場合、アクティビティは起動されません。

これは、アクティビティが開始されていないことを意味します。アクティビティを開始するためにフラグをまったく使用しないことをお勧めします。ただし、コードを貼り付けて、何を達成したいのかを明確に指定しない限り、確信が持てません。

別の注意: ユーザーが「戻る」ボタンを押したときにアプリを「破棄」したいとは思いません。これもデフォルトのままにしておく必要があります。仮想マシンは、必要に応じてアプリを破棄します。

PS: BetaGlide (モバイル アプリのパフォーマンス テスト ツール) を使用して開発者として私が監督したアプリの 1 つにも同様の問題があり、上記の手順で Betaglide を使用して結果を測定することで解決できました。

于 2013-09-30T19:55:37.237 に答える
0

戻るボタンを押すと、 onDestroy() が呼び出されたかどうかを確認できます。これは、アクティビティが強制終了されたかどうかを意味します。

于 2013-07-24T02:48:52.827 に答える