答えて
のOnCreate():このメソッドは、activity
を作成するときに一度だけ呼び出されます。そのため、gobal
とstatic
のすべてのコンテンツがそこに移動する必要があります。例 - これにはshared preferences
,databases
の初期化が含まれます。
OnStart():このメソッドは、activity
が画面上に表示されたときに呼び出されます。フォアグラウンド方式です。 OnStart()
は、OnStop()
で終わります。例:A
とB
activity
とし、A activity
が作成され、現在onStart()
メソッドが呼び出されているとします。 1つがB activity
に切り替わると、AのOnStop()
メソッドが呼び出され、B activity
が作成されます。したがってactivities
に切り替えるとOnStart()
とOnStop()
メソッドが呼び出されます。それはそれはOnStart()
その後、初期化の意志で行われている場合OnCreate()
方法で行われますが、activities
切り替えるたびに行われる必要がありますので
だからあなたの質問の初期化に応じて、一度に行われます。
出所:onCreate()
とonStart()
の違い?これはライフサイクルActivity | Android Developer
- あなたはそれを変更しない場合は任意のビューを初期化する必要はありませんについて、あなたのすべての障害をクリアしますこっち は見てみてください。
- 任意のアクティビティライフサイクルで、(アクセスする前に)あなたの希望どおりに初期化することができます。
- しかし、それをonCreate()で初期化することがベストプラクティスと言われています。
理由:
あなたがライフサイクルを見れば、あなたのアプリのページが表示されていないとき、OnCreate関数が呼び出されます。 appが部分的に表示されるときにonStartが呼び出されるように、& onResumeは、完全に可視であるときに呼び出されます。だから、ほとんどすべての準備ができてから、それを見ています。それが一つの理由です。
もう1つはfindViewByIdが少し高価です。だから、私たちは、アプリが見えるときにそれを見たくない。
OnStart & onResumeは、別のページに行くと複数回呼び出すことがあります。したがって、複数回よりもすべてを1回だけ初期化することが望ましいです。
あなたの選択は今のところです。
- 1. Androidでのグローバル初期化
- 2. Androidフラグメントの初期化
- 3. デフォルト初期化と値の初期化
- 4. 初期化子の初期化子
- 5. コンストラクタの初期化リストで配列を初期化する
- 6. Androidの複合ビューの初期化
- 7. Androidでのマトリックスの初期化?
- 8. SharedPreferencesを使用したAndroid初期化
- 9. PayPal mpl Android、ENV_SANDBOXの初期化問題
- 10. 変数の初期化 - Androidスタジオ
- 11. Android、オーディオレコーダーの初期化方法
- 12. Android共有プリファレンスの初期化
- 13. 初期化子リストでunordered_mapを初期化する
- 14. 初期化関数で静的クラスメンバーを初期化する
- 15. 遅延初期化と初期化
- 16. AndroidでButterKnifeの多くのビューを初期化する方法
- 17. GLfloatを初期化する
- 18. ボタンを初期化する
- 19. NSMutableArrayを初期化する
- 20. ダスクシリーズを初期化する
- 21. Self.NaviationControllerを初期化する
- 22. ArrayListを初期化する
- 23. C++ 11値初期化前に集約し、初期化する
- 24. Androidでテーブルを初期化する際の問題
- 25. AndroidアプリでAnalyticsを初期化する際の問題
- 26. 多くのAndroidコンポーネントを簡単に初期化する方法
- 27. android google loginの後にfirebaseを初期化するには?
- 28. Qリストの初期化リストによる初期化
- 29. 空の初期化を伴うコンストラクタの初期化リスト
- 30. Android:パラメータを持つプログラムからXMLオブジェクトを初期化する
推奨されていますが、必須ではありません。それを操作する前にViewを初期化してください –