2016-11-08 26 views
-1

是否需要僅在onCreate()中初始化activity的所有views。你能告訴我activityviews的最佳初始化。在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()方法。

所以要根據您的問題進行初始化,因此應在OnCreate()方法來實現,如果它在OnStart()然後將初始化完成的發生每年當你activities之間切換的時間做一次。

來源:onCreate()onStart()之間的區別?

請看看在這裏,這將清除關於生命週期Activity | Android Developer

0
  1. 無需任何初始化觀點,如果你不修改它你所有的缺點。
  2. 您可以根據需要(在訪問前)在任何Activity生命週期中進行初始化。
  3. 但是被認爲是在onCreate()中初始化它的最佳實踐。

爲什麼:

  1. ,如果你看到的時候不顯示你的應用程序頁面生命週期OnCreate中被調用。就像在app部分可見時調用onStart一樣& onResume在完全可見時被調用。所以,大多數情況下,我們都希望在看到它之前準備好一切所以這是一個原因。

  2. 另一種是findViewById有點貴。所以,我們不希望看到應用程序可見時。

  3. OnStart & onResume可能會在您轉到另一頁時多次調用。所以,最好只將一切初始化一次,而不是多次。

因此,選擇是你的。