Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 任务管理器&x27;s强制关闭删除我的应用程序';但是为什么呢?_Android - Fatal编程技术网

Android 任务管理器&x27;s强制关闭删除我的应用程序';但是为什么呢?

Android 任务管理器&x27;s强制关闭删除我的应用程序';但是为什么呢?,android,Android,我正在制作我的第一款android游戏,我的问题是: 当我使用手机的“后退\退出”按钮退出应用程序时,我的应用程序将关闭,我需要的所有信息都会很好地保存到首选项文件中: @Override protected void onPause() { super.onPause(); // My pref file SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, 0); SharedPrefer

我正在制作我的第一款android游戏,我的问题是:

当我使用手机的“后退\退出”按钮退出应用程序时,我的应用程序将关闭,我需要的所有信息都会很好地保存到首选项文件中:

 @Override
 protected void onPause() 
 {

 super.onPause();

 // My pref file
 SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, 0);
 SharedPreferences.Editor editor = preferences.edit();

 // Put the values to the pref file
 editor.putInt("CsereHolTart", CsereHolTart);
 editor.putInt("melyikAct", melyikAct);
 editor.putInt("Silver", Silver);
 editor.putInt("Strength", Strength);
 editor.putInt("Intelligence", Intelligence);
 editor.putInt("Dexterity", Dexterity);
 editor.putInt("Speed", Speed);
 editor.putInt("Vitality", Vitality);
 editor.putInt("Morale", Morale);
 editor.putInt("cHp", cHp);
 editor.putInt("cMp", cMp);

 editor.putInt("isGame", 1);



 // Commit to storage
 editor.commit();


  }
看到了吗?我只是简单地使用onPause()方法将需要添加到首选项文件的所有内容实际放在以下位置:

public static final String PREF_FILE_NAME = "PrefFile";
当我打开应用程序时,所有保存的数据都会被很好地读取,并且我的应用程序会从右桥继续运行,其中包含我保存的有效值,然后加载

这很好,但是:

当我用手机的任务管理器关闭应用程序时,我手动执行“强制关闭”,似乎onPause()没有运行,或者其他我不知道的事情。所以问题是当我用task manager关闭我的应用程序时,所有加载都失败了,似乎所有保存的数据都被删除了。因为每个首选项都以这种方式加载到默认值

有谁能告诉我,我应该怎么做才能解决任务经理的部队关闭问题? 每次用户退出应用程序或打开应用程序时,我都要保存和加载

当我用手机的任务管理器关闭应用程序时,我手动执行“强制关闭”,似乎onPause()没有运行


如果您在前台并通过某种任务管理器终止进程,则不会调用
onPause()
onPause()
仅在其他活动接管前台时调用。

正如您所说,只要先前保存了首选项,不调用onPause()就不重要了。我只能猜测您正在删除该行某个位置保存的数据。您可以发布用于加载共享首选项的代码吗?当我通过手机的退出按钮退出时,所有内容都已保存,并且加载良好。但是当我使用任务管理器时,不会发生加载。我就是不明白。。。两者的区别是什么?这是我的加载,很简单:`SharedReferences preferences=getSharedReferences(PREF_FILE_NAME,0);isGame=preferences.getInt(“isGame”,0);如果(isGame==1){Intent Intent Intent=new Intent();Intent.setClass(KezdoKepernyo.this,thamirman.class);startActivity(Intent);finish();}`这是我的负载,很简单:
SharedPreferences preferences=
getSharedPreferences(PREF\u文件名,0)
isGame=preferences.getInt(“isGame”,0)
if(isGame==1)
Intent.setClass(KezdoKepernyo.this,thamirman.class);
startActivity(Intent);
finish();
我怀疑您并没有真正将首选项保存在onPause中。你的应用程序的状态正在维护中,同时它工作正常。要测试这一点,请尝试使用你的应用程序,更改首选项,然后点击home或back。然后重新启动你的手机。如果首选项没有持续存在,那么很可能是您没有加载它们或者没有保存它们。如果在force close上没有调用onPause(),那么我应该将所有数据保存到哪里?我需要一种处理强制关闭的方法。@AdamVarhegyi:“我到底应该在哪里保存我的所有数据?”--IMHO,很少有用户会在应用程序处于前台时强制关闭它。对于初学者来说,很少有用户拥有一款可以实现这一点的设备。我真的需要一种方法来解决这个问题,因为我的游戏是RPG,所以玩家应该能够继续他的旅程。我必须记住,有些用户会强制关闭我的应用程序,那么有没有一种方法,比如onPause(),在有人强制关闭应用程序时会运行?@AdamVarhegyi:“我必须记住,有些用户会强制关闭我的应用程序”--当应用程序处于前台时,大多数用户都不可能强制关闭应用程序。“有没有像onPause()这样的方法,如果有人强制关闭应用程序,它将运行?”--没有。如果你的应用程序不在前台,它将使用
onPause()
调用。如果你的用户是白痴,并强制关闭你的前台应用程序,他们应该得到任何数据丢失。谢谢你,但我必须说,许多用户在前台强制关闭他们的应用程序。我会找到一种方法,可能使用内部存储并在运行时保存。