应用程序终止时删除首选项数据
Removing Preference data when Application killed
在我的应用程序中,我存储了一些 SharedPreference 数据。
我必须在应用程序终止时清除所有存储的数据。
所以,我在 activity 的 onDestroy()
中完成了如下操作:
@Override
protected void onDestroy() {
if(isBackPressed==0){
if(Prefrences.checkPref(MyActivity.this,MAIN_PREF)){
Prefrences.removePref(MyActivity.this,MAIN_PREF);
Prefrences.removePref(MyActivity.this,PREF_1);
Prefrences.removePref(MyActivity.this,PREF_2);
Constant.displayLogE(">>>>>>>>>>","### Prefrence removed ");
}
Constant.displayLogE(">>>>>>>>>>","### Destroy activity ");
}
finish();
super.onDestroy();
}
在这里,我选择了 isBackPressed
因为,当 onBackPressed 调用时,它会自动调用 finish() 和 onDestroy() 方法调用。所以,我在 onBackPressed()
方法中将 isBackPressed
初始化为 1。
没关系,我只需要在应用程序要被杀死时删除我的偏好数据即可。但是,问题是当我终止应用程序时,onDestroy()
方法没有调用。
谢谢。
试试这个方法。
public class App extends Application{
@Override
public void onCreate() {
doSomeCleanWork();
}
}
在我的应用程序中,我存储了一些 SharedPreference 数据。
我必须在应用程序终止时清除所有存储的数据。
所以,我在 activity 的 onDestroy()
中完成了如下操作:
@Override
protected void onDestroy() {
if(isBackPressed==0){
if(Prefrences.checkPref(MyActivity.this,MAIN_PREF)){
Prefrences.removePref(MyActivity.this,MAIN_PREF);
Prefrences.removePref(MyActivity.this,PREF_1);
Prefrences.removePref(MyActivity.this,PREF_2);
Constant.displayLogE(">>>>>>>>>>","### Prefrence removed ");
}
Constant.displayLogE(">>>>>>>>>>","### Destroy activity ");
}
finish();
super.onDestroy();
}
在这里,我选择了 isBackPressed
因为,当 onBackPressed 调用时,它会自动调用 finish() 和 onDestroy() 方法调用。所以,我在 onBackPressed()
方法中将 isBackPressed
初始化为 1。
没关系,我只需要在应用程序要被杀死时删除我的偏好数据即可。但是,问题是当我终止应用程序时,onDestroy()
方法没有调用。
谢谢。
试试这个方法。
public class App extends Application{
@Override
public void onCreate() {
doSomeCleanWork();
}
}