问题:
因为手机内存不足的时候,会回收一些app,如果被回收的app中有全局变量,那么再次进入这个app就会出现异常报错。
原因:
因为Application是全局变量,内存不足的时候会被回收,这个时候如果不是重启而是恢复之前的页面,系统会重新new 一个Application,所以没回收之前保存在Application中的信息都将没有了,这个时候被恢复的页面就可能因为需要Application中的信息报NullPointerException错。
这说明:系统回收app后,再次进入此软件,Android只是恢复这个应用,并不是重启,它会创建一个新的Application对象并且启动上次用户离开时的activity以造成这个app从来没有被kill掉得假象。
What is Application
Application和Actovotu,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application对象,用来存储系统的一些信息。通常我们是不需要指定一个Application的,这时系统会自动帮我们创建,如果需要创建自己 的Application,也很简单创建一个类继承 Application并在manifest的application标签中进行注册(只需要给Application标签增加个nam