2010-05-21 26 views
0

所以我做了Notepadv1教程。它效果很好。沒問題。然而,我想要解釋爲什麼mNoteNumber會記住我創建的項目的最後一個數字。Android Notepadv1教程 - 持久mNoteNumber?

因此類開始如下:

public class Notepadv1 extends ListActivity { 
    private int mNoteNumber = 1; 

這很好,我理解這一點。使用mNoteNumber變量的唯一其他時間就是當你添加一個項目它會創建與該號碼的便條,然後按如下遞增到下一個數字:

private void createNote() { 
String noteName = "Note " + mNoteNumber++; 

這些都是給變量mNoteNumber僅有的兩個引用。當我按主頁按鈕,然後重新打開應用程序,我添加一個新的筆記,而不是添加第二個「注1」,它記住我添加爲「注3」的最後一個筆記,因此它使「注4」。所以我不明白。 Java/Android是否記住變量的最後一個狀態?

如果有人可以給我一些解釋,那將是非常感謝的!

回答

3

點擊主頁按鈕不會中止您的應用程序。它只是將它移動到背景中。當你再次點擊你的應用程序圖標時,它將應用程序移回前臺。想想就像在應用程序中最小化和重新打開一個窗口一樣。

但是,你不能依靠它以這種方式記住狀態。當應用程序處於後臺時,如果Android決定需要該空間,它可能會被殺死。

欲瞭解更多信息,請參閱lifecycle documentation

如果你確實想保證這個狀態被記住,你應該堅持這個狀態,正如在那個文檔中所解釋的那樣。