Android Notepadv1教程 - 持久mNoteNumber?
问题描述:
所以我做了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是否记住变量的最后一个状态?
如果有人可以给我一些解释,那将是非常感谢的!
答
点击主页按钮不会中止您的应用程序。它只是将它移动到背景中。当你再次点击你的应用程序图标时,它将应用程序移回前台。想想就像在应用程序中最小化和重新打开一个窗口一样。
但是,你不能依靠它以这种方式记住状态。当应用程序处于后台时,如果Android决定需要该空间,它可能会被杀死。
欲了解更多信息,请参阅lifecycle documentation。
如果你确实想保证这个状态被记住,你应该坚持这个状态,正如在那个文档中所解释的那样。