2013-10-08 71 views
-1

我一直在尋找關於這個問題的信息,但是我沒有從Android文檔中找到任何約定或建議。活動中訂購的Android方法

有沒有關於Activity的生命週期方法排序的Android約定?

public class Activity extends ApplicationContext { 
    protected void onCreate(Bundle savedInstanceState); 

    protected void onStart(); 

    protected void onRestart(); 

    protected void onResume(); 

    protected void onPause(); 

    protected void onStop(); 

    protected void onDestroy(); 
} 
+0

完全的自信:除了字母順序之外的任何事情最終都讓我發瘋。我不按*的順序寫*,但我會定期做一個自動格式來修復它,這樣我就可以找到東西。 – Geobits

+0

我編輯了這個問題以適應規則。我已經加入了所有疑慮,使問題更清楚,但我明白這是造成意見的答案。現在問題很明顯:這個問題是否有「官方」的Android公約?是的(鏈接)或者是否。希望現在的問題符合規則,因爲更多的人可能會有同樣的疑問,這篇文章可能會有所幫助。 – josuadas

回答

2

關於在一個文件中排序你的方法沒有約定,你不需要按照執行順序在文件中編寫你的方法,也不必在實際調用另一個方法之前實現一個方法,例如,不要使用舊的C/C++編譯器)。

只要根據您的需求進行邏輯排序,以及如果您必須在幾周或幾個月後修改文件,您認爲最佳排序。

我個人比較喜歡首先重寫框架方法,然後在我的Activity/Fragment/Service或其他方面需要所有其他方法。但這完全是一個品味問題。

1

您可以閱讀Activity lifecycle

但據我所知,有沒有爲它真正的慣例,這是一個品味的問題。

0

這裏所有這些類別的:

public class Activity extends ApplicationContext { 
    protected void onCreate(Bundle savedInstanceState); 

    protected void onStart(); 

    protected void onRestart(); 

    protected void onResume(); 

    protected void onPause(); 

    protected void onStop(); 

    protected void onDestroy(); 
} 

的情況是:需要界定,或者可以被覆蓋的方法。它們是SDK本地的。它們按照您的順序執行,但是,如果您要覆蓋它們,則不需要按特定順序放置它們。它們是Activity生命週期的方法,因此它們將按照它們需要的順序自動執行。