Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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 如何处理简历后丢失的数据_Android_Null_Resume_Recycle - Fatal编程技术网

Android 如何处理简历后丢失的数据

Android 如何处理简历后丢失的数据,android,null,resume,recycle,Android,Null,Resume,Recycle,我在开发应用程序时遇到了一些问题 在我最小化应用程序或关闭屏幕,打开许多其他应用程序或长时间后重新打开手机之后。 当我重新启动我的应用程序时,它会尝试恢复并继续显示相同的页面(带有片段)。 但是我需要的数据已经被销毁了,所以它将是空的。 数据是一个对象数组,我知道也许我可以将它们存储在db中。 但由于数据会在用户每次单击某个内容时更新。 所以我不想将其保存到数据库中,我想这意味着不需要大量的存储I/O开关。 我想知道是否有任何解决方案可以在东西被破坏时重新启动hole应用程序? 或者实现它的唯一

我在开发应用程序时遇到了一些问题

在我最小化应用程序或关闭屏幕,打开许多其他应用程序或长时间后重新打开手机之后。 当我重新启动我的应用程序时,它会尝试恢复并继续显示相同的页面(带有片段)。 但是我需要的数据已经被销毁了,所以它将是空的。 数据是一个对象数组,我知道也许我可以将它们存储在db中。 但由于数据会在用户每次单击某个内容时更新。 所以我不想将其保存到数据库中,我想这意味着不需要大量的存储I/O开关。 我想知道是否有任何解决方案可以在东西被破坏时重新启动hole应用程序? 或者实现它的唯一方法是我处理空数组并自己重新加载? 我真的不想这样做,因为我想这会给我带来很多意想不到的问题,因为数据与许多页面相关。 切换页面时,我不得不考虑太多的情况。

有什么建议吗

但是我需要的数据已经被销毁了,所以它将是空的

那是因为你没有

但由于数据会在用户每次单击某个内容时更新

或者,您可以分叉一个线程,将数据保存为
onPause()
onStop()方法的一部分。在“从不保存”和“每次点击都保存”之间有很多可能性

所以我不想将其保存到数据库中,我想这意味着不需要大量的存储I/O开关

如果您希望在用户离开应用程序30多分钟后将数据保存在那里,您可以选择将数据保存在本地(文件、数据库、
SharedReferences
)或将数据保存在Internet上的某个位置

对于较短时间段内的少量数据,您可以将数据放入提供给
onSaveInstanceState()
捆绑包中,然后稍后再次从
捆绑包中取出数据(例如,在活动的
onRestoreInstanceState()
中)。您应该已经这样做来处理屏幕旋转和其他配置更改

我想知道是否有任何解决方案可以在东西被破坏时重新启动hole应用程序

欢迎您参加launcher活动,表明每当用户离开您的应用程序并试图返回应用程序时,您总是希望从头开始。用户不会欣赏这一点,因为这意味着即使短暂退出你的应用程序(例如,快速回复短信),他们也会失去状态。此属性不会终止您的进程,但它将并且将消除以前在您的应用程序中出现的任何其他活动

或者实现它的唯一方法是我处理空数组并自己重新加载


是的,这是开发人员通常会做的。

您必须使用db或共享首选项,如果希望更新数据,您必须在简历中重新加载数据。另一种方法是,你可以完全完成应用程序。因为有其他情况将转到onResme,我不能在onResume时重新加载。我不需要将数据存储很长时间或永久性地存储,在5或10分钟后销毁也没关系。是的,我正在尝试完全完成应用程序,并在列表被销毁时从头开始。嗨,非常感谢!我不想保存数据,因为我不需要保存很长时间,我只希望这些数据可以保存1~2分钟,对我来说,数据在很长时间后被销毁是完全可以的。所以,将它保存在数据库中将是我最后要尝试的事情。但我遇到的一些问题是,数据被销毁了,但活动和片段状态仍然存在,我希望应用程序在数据被销毁时从头开始。我在想,如果有什么解决方案可以在数据被销毁时强制执行活动销毁状态。我正在尝试添加android:clearTaskOnLaunch=“true”,当我使用back键离开应用程序时,它似乎会清除所有状态,但当我使用home按钮离开应用程序或切换到另一个应用程序时,仍然在同一页面上。当我使用home按钮离开应用程序时,我试图重现这个错误。查看错误是否会再次显示,或者是否会重新启动hole应用程序。我认为重新启动应用程序的唯一方法是检查数据,并在数据为空时清除所有堆栈。但我想这不是一种优雅的方式。。。所以我一直在寻找更好的方法。