onResume()
Androidで使用する例を教えてもらえますか?
また、別の実行の終了時にアクティビティを再開したい場合、どのメソッドが実行されますか?onCreate()
またはonResume()
?
そして、データを更新したい場合、どのようにそれを入れるのですか? onResume()?
onResume()
Androidで使用する例を教えてもらえますか?
また、別の実行の終了時にアクティビティを再開したい場合、どのメソッドが実行されますか?onCreate()
またはonResume()
?
そして、データを更新したい場合、どのようにそれを入れるのですか? onResume()?
回答:
アプリを再起動すると、が呼び出されますOnCreate()
。
一時停止しているときにアプリを続行すると、が呼び出されますOnResume()
。https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycleの公式ドキュメントから、アクティビティのライフサイクルの図を次に示します。
理解するための最良の方法は、アクティビティですべてのライフサイクルメソッドをオーバーライドし、ブレークポイント(エミュレーターをチェックインする場合)またはログをそれぞれに配置することです。どちらがいつ呼び出されるかを知ることができます。
ネタバレと同じように、onCreate()
最初に呼び出されます。次に、ホーム画面に移動するか、別のアクティビティを起動してアクティビティを一時停止するonPause()
と、呼び出されます。その間にOSがアクティビティを破棄するonDestroy()
と、が呼び出されます。アプリを再開し、アプリがすでに破棄されている場合onCreate()
は、呼び出されるか、onResume()
呼び出されます。
編集:私は忘れましたonStop()
、それは前に呼び出されonDestroy()
ます。
私が言及した演習を行うと、よりよく理解できるようになります。
これまでの回答のほとんどは、どのように、なぜ、いつ使用するかを説明するのに役立ちますが、のonResume()
再作成について何か追加したいと思いますActivity
。
onCreate()またはonResume()で実行される他のメソッドの実行の最後にアクティビティを再開するかどうかを知りたい
答えは、onCreate()
しかし、実際にそれを再作成することを決定するとき、あなたは自分自身にどれだけActivity
再作成する必要があるかを自問するべきです。それは、アダプタ内のデータであれば、あなたが呼び出すことができ、リストのために言うnotifyDataChanged()
にadapter
再投入するadapter
と、すべてを再描画する必要はありません。
また、あなただけの特定のアップデートが必要な場合はviews
すべてではありませんが、コールする方が効率的invalidate()
にview
必要性が更新されていること(複数可)。これviews
により、それらが再描画されるだけで、アプリケーションをよりスムーズに実行できる可能性があります。これがお役に立てば幸いです。
onResume()
は、アクティビティのライフサイクル全体で呼び出されるメソッドの1つです。onResume()
は、onPause()
アクティビティがビューから非表示になっているときはいつでも呼び出される対応物です。たとえば、非表示にする新しいアクティビティを開始した場合などです。onResume()
非表示にされたアクティビティが画面に表示されるように戻ったときに呼び出されます。
あなたは、アクティビティを再開するためにどの方法が使用されているかを尋ねます。onCreate()
アクティビティが最初に作成されたときに呼び出されます。実際には、ほとんどの活動は、一連の背景に固執onPause()
し、onResume()
通話。アクティビティが実際に「再開」さonRestart()
れるのは、最初に呼び出しによって完全に停止されonStop()
、次に復活した場合のみです。したがって、実際にアクティビティを停止していないonStop()
場合は、を使用するのが最も適切ですonResume()
。
上記のリンクにあるAndroidのドキュメントを読んで、さまざまなライフスタイルの方法の関係をよりよく理解してください。最終的に一般的な形式を使用するライフサイクル方法に関係なく、同じです。コメント付きのセクションに、標準のメソッドをオーバーライドして、コード、つまりその時点でアクティビティに実行させたいことを含める必要があります。
@Override
public void onResume(){
//will be executed onResume
}
Androidアクティビティライフサイクルリファレンスを再確認します。素敵な写真と、どのメソッドが呼び出されるかを示す表があります。参照リンクグーグル
https://developer.android.com/reference/android/app/Activity.html
KOTLIN
再起動するアクティビティでは、最初にonResume()メソッドが実行されます。
この方法を使用するには、次のようにします。
override fun onResume() {
super.onResume()
// your code here
}
アクティビティが開始された後、再起動(onRestart()はonStart()の前に発生)、または一時停止(onPause())され、onResume()が呼び出されます。アクティビティがonResume()の状態にある場合、アクティビティはアプリユーザーが使用できるようになっています。
アクティビティのライフサイクルについて少し調べましたが、このトピックについての私の理解は次のとおりです。別の実行の最後にアクティビティ(A)を再開する場合は、いくつかの異なるケースが考えられます。
他のアクティビティ(B)が一時停止および/または停止または破棄され、アクティビティAが一時停止された可能性があります(onPause())。この場合、アクティビティAはonResume()を呼び出します。
アクティビティBが一時停止および/または停止または破棄され、アクティビティAがメモリの問題で停止された可能性があります(onStop())。この場合、アクティビティAは最初にonRestart()を呼び出し、次にonStart()を呼び出し、次にonResumeを呼び出します。 ()
アクティビティBが一時停止および/または停止または破棄され、アクティビティAが破棄された場合、プログラマはonStart()を手動で呼び出して最初にアクティビティを開始し、次にonResume()を呼び出すことができます。これは、アクティビティが破棄された状態の場合、アクティビティが開始されていません。これは、アクティビティが完全に削除される前に発生します。アクティビティが削除された場合は、アクティビティを再度作成する必要があります。onStart()を手動で呼び出すアクティビティが開始されておらず、作成されている場合、onCreate()の後にonStart()が呼び出されるためだと思います。
データを更新する場合は、データ更新関数を作成し、その関数をonResume()内に配置します。または、loadData関数をonResume()内に配置します
アクティビティライフサイクル図を使用して、ライフサイクルを理解することをお勧めします。