Android Notepadv1教程 - 持久性mNoteNumber?

时间:2010-05-21 21:47:22

标签: java 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是否记住变量的最后状态?

如果有人能给我一些解释,那将是非常感谢!

1 个答案:

答案 0 :(得分:3)

点击主页按钮不会终止您的应用程序。它只是将其移动到后台。再次单击应用程序图标时,它会将应用程序移回前台。可以考虑最小化并重新打开应用程序中的窗口。

然而,你不能依靠它以这种方式记住状态。当应用程序在后台时,如果Android确定需要空间,则可以将其杀死。

有关详细信息,请参阅lifecycle documentation

如果您确实希望保证记住该州,则应按该文件中的说明保留该州。