2016-11-08 1 views
-1

viewsactivity을 모두 onCreate()으로 초기화해야합니까? views의 초기화가 activity임을 알 수 있습니까?android의 활동 뷰 초기화

감사

+0

권장되지만 필수는 아닙니다. 뷰를 초기화하기 전에 뷰를 초기화해야합니다. –

답변

0

에서 OnCreate() :이 방법은 activity가 작성 될 때 한 번 호출된다. 그렇기 때문에 모든 gobalstatic 콘텐츠가 있어야합니다. 예 - 여기에는 shared preferences, databases 초기화가 포함될 수 있습니다.

OnStart() :이 방법은 화면 위에 activity이 표시 될 때 호출됩니다. 전경 방법입니다. OnStart()은 (는) OnStop()으로 끝납니다. 예 : ABactivity, A activity이 만들어졌으며 현재 onStart() 메서드가 호출되고 있다고 가정합시다. 하나가 B activity으로 전환하면 A의 OnStop() 메소드가 호출되고 B activity이 생성됩니다. 따라서 activities으로 전환하면 OnStart()OnStop() 메서드가 호출됩니다. 그것은이 OnStart() 다음 초기화 뜻에서 수행되는 경우 OnCreate() 방법으로 수행하면 activities 사이를 전환 할 때마다 발생해야하므로

그래서 귀하의 질문에 초기화에 따라 한 번 이루어집니다.

출처 : onCreate()onStart()의 차이점은 무엇입니까? 이 수명주기 Activity | Android Developer

0
  1. 당신이 그것을 수정하지 않을 경우 모든보기를 초기화 할 필요가 없습니다에 대한 귀하의 모든 오류를 지 웁니다 여기

    는 봐 주시기 바랍니다.
  2. 모든 활동 라이프 사이클에서 원하는대로 (액세스하기 전에) 초기화 할 수 있습니다.
  3. 그러나 onCreate()에서 초기화하는 것이 좋습니다.

이유 :

  1. 당신이 응용 프로그램 페이지가 표시되지 않을 때 라이프 사이클에서 OnCreate가 호출을 참조합니다. 앱이 부분적으로 표시 될 때 호출되는 onStart와 마찬가지로 & onResume이 완전히 표시되면 호출됩니다. 그래서, 대부분 우리는 그것을보기 전에 모든 것을 준비하기를 원합니다. 이것이 하나의 이유입니다.

  2. 또 하나는 findViewById가 약간 더 비쌉니다. 따라서 앱이 보일 때이를보고 싶지는 않습니다.

  3. OnStart & 다른 페이지로 이동할 때 onResume이 여러 번 호출 될 수 있습니다. 따라서 모든 것을 여러 번 초기화하는 것보다 한 번만 초기화하는 것이 좋습니다.

그래서 이제 선택 사항이 적용됩니다.