清理内存后Android应用程序崩溃

时间:2014-02-14 05:38:09

标签: java android memory nullpointerexception ram

我的应用似乎没问题。但是当我再次打开时,当我尝试清理我的Galaxy S4上的原生内存时,应用程序似乎都是错误的并且崩溃了NullPointerException。当应用程序长时间打开时,也会发生同样的情况。

  

enter image description here

当有这种情况发生时,有没有办法永久关闭我的应用程序?

我已经用

关闭了
db.close();
finish();

只需要知道什么时候

2 个答案:

答案 0 :(得分:3)

在某些情况下,您的活动会因应用程序的正常行为而被销毁,例如当用户按下“返回”按钮或您的活动通过调用finish()发出自己的破坏信号时。如果系统当前已停止并且长时间未使用,或者前台活动需要更多资源,系统也可能破坏您的活动,因此系统必须关闭后台进程才能恢复内存。

默认情况下,系统使用Bundle instance statesave information关于活动布局中的每个View对象(例如输入EditText对象的文本值)。因此,如果您的活动实例被销毁并重新创建,则布局的状态将恢复到之前的状态,而您无需代码。但是,您的活动可能包含您要恢复的更多状态信息such as member variables that track the user's progress in the activity

  

你必须将这些数据保存在onSaveInstanceState(Bundle outState)并使用 onRestoreInstanceState(Bundle savedInstanceState)

enter image description here

了解更多信息Visit here

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

答案 1 :(得分:1)

嘿,我认为它可以帮助您获得解决方案:

只需在按钮EXIT click上编写此代码即可。

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("LOGOUT", true);
startActivity(intent);

在MainActivity.class的 onCreate()方法中,将下面的代码写为第一行,

if (getIntent().getBooleanExtra("LOGOUT", false))
{
    finish();
}