所以我做了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。
如果确实要确保记住该状态,则应按照该文档中的说明保留该状态。