一般来说当应用退到后台后,内存不足的情况下,会销毁 Activity 甚至 Service ,静态变量也是如此。 对于稍微大点的项目来说,难免用到静态全局变量,然而一旦静态变量被清空,就很容易出现空指针异常。
我的设想: 通过静态方法来访问静态变量,并在应用启动后做个静态标记 如果调用的时候,发现静态变量为空,并且静态标记被清空了,就重启应用。(好像记得微信如果退到后台很久后,回来会从欢迎页面开始)
也看到有人说在 Activity 的 onSaveInstanceState 中保存,然后恢复。我觉得界面太多,容易遗漏,如果添加一个新的静态变量,估计还得修改 n 遍,不合适。
虽然我是 《 app 开发从上架到上吊》 的铁粉,但活还得继续干。期待各位大佬的表现。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.