作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我做了Notepadv1教程。效果很好。没问题。不过,我想了解一下为什么 mNoteNumber 会记住我创建的项目的最后一个编号。
所以类(class)开始如下:
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 .
如果您确实想保证记住该状态,您应该按照该文档中的说明保留该状态。
关于java - Android Notepadv1 教程 - 持久化 mNoteNumber?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885813/
我是一名优秀的程序员,十分优秀!