2016-05-28 11 views
0

新しいアクティビティが作成されるたびにonCreateが呼び出されます。続いてonStart。アクティビティが画面に戻ったときにonStartが再度呼び出されます。私はこの基本を知っています。しかし、あなたが活動を開始するときの実際の違いは何ですか?アクティビティの起動時のonCreate()とonStart()のパフォーマンスへの影響

つまり、現在のアクティビティでオブジェクトをクリックすると、新しいアクティビティの目的でメソッドによって新しいアクティビティが開始されます。今度はonCreate()が第2のアクティビティ、次にonStart()が呼び出されます。アクティビティはいつユーザーに表示されますか? onCreate以降またはonStartの後に? onCreateの後、onStartの前に表示され、onStart()の操作を行うと、オブジェクトをクリックしているユーザーと画面上に表示される画面の間の遅れが少なくなります。

データバインディングの一部をonStartに移動すると、ロリポップ以上のデフォルトのアクティビティ遷移が妨げられます(これについてはわかりません)。

コードの一部をonStartに移動して、ユーザーの画面に表示されるクリックと新しいアクティビティの間の遅延を減らすことをお勧めしますか?はいの場合、どの種類のコードを安全にonStartに移動できますか?データバインディング、データベースクエリなど

ご指摘いただければ幸いです。

+1

あなたの活動内容はonResume()に表示されます。 –

+1

@ Kirtan403 onResume()でユーザに表示されるアクティビティ – Nisarg

+1

これはあなたを助けるかもしれません:http://stackoverflow.com/questions/6812003/difference-between-oncreate-and-onstart?rq=1 –

答えて

1

アクティビティのライフサイクルを理解するために必要なアクティビティの理解を深めるために、onCreateメソッドで実際にアクティビティが作成され、次にonStartの2番目のメソッドonStartが呼び出されます。 enter image description here

+0

これはonStartの後に表示されます。したがって、いくつかのコンテンツをonStartにスキップする必要はありません。アクティビティが停止して再び画面に戻った後に、いくつかのものを再初期化する必要がある場合のみ。 – kirtan403

+0

はい、そうですが、不要な重いオブジェクトをonStart()メソッドに入れないでください。できるだけonCreate()メソッドに入れてください。なぜなら、onStart()メソッドは呼び出し回数を取得する可能性があるからです。 –

+0

はい、あなたの意見があります!ありがとう! – kirtan403

関連する問題