2017-10-19 40 views
0

我有一个Android应用程序。当我打开应用程序时,它会加载,我可以使用它没有问题。如果我然后尽量减少应用程序,并返回,整个应用程序重新启动并重新加载所有内容。Android工作室总是在失去焦点后重新加载?

  1. 是否有某种我可以检查的事情,并试图弄清楚为什么会发生这种事情?
  2. 是否有一些“失去焦点后不重新加载应用程序”设置我不知道?
  3. 关于如何弄清楚为什么我的Android应用会这样做的任何其他建议?

理论1

我有称为MyApplication的基类。这个类是我存储应用程序的所有信息的地方。因此,用户信息,该条款显示等我揭露这一点使用静态函数:

public static List<UserNotification> getUserNotifications(Context context) { 
    return userNotifications; 
} 

我的理论是,不知何故,失去焦点的时候,这个基类被破坏。也许通过垃圾收集?我不确定。这也构成了另一个问题...

  1. 如果存储这样的信息在我的基类是错误的,什么是正确的方式来处理这个,以避免用户每次打开应用程序时都必须重新加载所有内容?

回答

1

App life cycle

为了不失去你的数据,你需要使用捆绑savedInstance 使用的onSaveInstanceState方法

我建议你登录,因为大多数的可能有什么事情的全局视图以及所有日志和方法的顺序