所以我做了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是否记住变量的最后状态?

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

最佳答案

按下主屏幕按钮不会杀死您的应用程序。它只是将其移至后台。再次单击应用程序图标时,它将应用程序移回前台。考虑一下它,例如最小化并重新打开应用程序中的窗口。

但是,您不能依靠它以这种方式记住状态。当应用程序在后台运行时,如果Android决定需要该空间,则可以将其杀死。

有关更多信息,请参见lifecycle documentation

如果确实要确保记住该状态,则应按照该文档中的说明保留该状态。

10-06 04:58