开发中经常会遇到这样的情况:

      按home键退出程序,让其运行在后台,然后去操作其他程序或放置在一边,过一段时间再次打开时可能会出现崩溃。

分析原因(有可能是别的原因):

      在Application中声明了若干静态变量,这些静态变量往往只在程序一开始的时候初始化,然后应用在多个activity,当程序退出到后台运行的时候,

手机可能会因为内存不足而杀掉该进程,这时application中的静态变量也被清空。而当再次点开程序时,当前activity中可能正好用到其中某个静态变量,从而

抛出空指针异常。

解决办法:

     打开activity的时候判断当前程序是否被系统杀掉,如果是则需重新启动。 

     1、在applciation中声明变量flag,用于标志程序是否被杀掉

 1 package com.zy.baseproject.application;
 2 
 3 import com.zy.baseproject.bean.User;
 4 
 5 import android.R.integer;
 6 import android.app.Application;
 7 
 8 public class MyApplication extends Application {
 9     private static User user;
10     public static int flag=-1;
11 
12     public static User getUser() {
13         return user;
14     }
15 
16     public static void setUser(User user) {
17         MyApplication.user = user;
18     }
19     
20 }
MyApplication.java

相关文章:

  • 2021-11-17
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2021-08-15
  • 2021-11-30
猜你喜欢
  • 2021-06-03
  • 2022-12-23
  • 2021-10-29
  • 2022-12-23
  • 2021-09-16
  • 2021-11-25
相关资源
相似解决方案