问题标签 [android-savedstate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
52 浏览

android - 保存横向应用程序状态,同时设备将从锁定状态解锁

我的应用程序只有横向模式。屏幕上有一些编辑文本字段。我正在编辑文本框中填写一些内容并锁定设备,当我解锁设备时,我发现我的应用程序屏幕带有空白编辑文本框。请帮助我在应用程序从设备锁定模式恢复到解锁模式时如何存储数据。对不起英语不好。谢谢你。

0 投票
2 回答
1331 浏览

android - 如何创建评级/评论警报对话框并保存选择的内容?

我创建了一个警报对话框,当用户第一次点击我的应用程序时显示,我想知道的是如何将应用程序定向到我在 Play 商店中的应用程序并保存选择的内容,以便该框不会再次出现. 请帮忙,谢谢!

0 投票
1 回答
331 浏览

android - 片段 onSaveInstanceState 中的 Android OutOfMemory 错误

我有一个带有 RecyclerView 的片段,它包含带有 ImageView 的项目(基本上就像画廊应用程序)。使用异步任务显示图像以在单独的线程中完成工作。图像从 base64 编码字符串显示。图像也使用 lrucache 缓存。

问题
一切正常,直到我第三次或第四次旋转设备。设备因 onSaveInstanceState 方法中的内存不足错误而崩溃。

问题
任何想法如何防止 OutOfMemory 错误?提前致谢

代码

活动

}

分段


异步任务


位图缓存


BitmapUtils.fromBase64

编辑
我尝试将保存在 onSavedInstanceState 中的 arraylist 大小从 100 减小到 50,并且没有显示 OOM 错误(尽管您旋转了设备多少次)。可能是,保存的实例太长(如果它列出了 100 个项目)并且它会淹没内存吗?

0 投票
1 回答
87 浏览

android - Activity 被销毁时,如何从 LinearLayour 存储对象?

我有一个仅包含一个片段的活动,并且该片段有 2 个继承自 LinearLayout 的对象。我在管理屏幕旋转时遇到了问题,但我通过它们自己的 onRestore 和 onSavedInstance 方法解决了恢复和保存这些对象的状态。但是,当保存片段的活动被破坏时,这无济于事。我该如何进行?

我的活动

}

片段:

我用来保存和恢复对象的方法

0 投票
1 回答
285 浏览

android - Android 不会自动保存视图状态

基本上,我在一项活动中有一个TextView和两个EditText视图。从那个活动开始,一个不同的活动开始了。如果我按下设备上的硬件后退按钮(结束第二个活动),视图的状态与以前相同,这很好。但是,在按下(第二个活动的)操作栏上的后退按钮后,视图会失去以前的状态。

根据文档,如果您为视图提供 ID(例如 EditText、TextView 等小部件),android 将自动保存它们的状态。

例如,EditText 小部件保存用户输入的任何文本,而 CheckBox 小部件保存它是否被选中。您唯一需要做的工作是为每个要保存其状态的小部件提供唯一 ID(带有 android:id 属性)。如果小部件没有 ID,则系统无法保存其状态。

对于需要保存其状态的每个视图,我都有一个唯一的 ID。我也尝试过android:saveEnabled="true"在 XML 中显式使用textView.setSaveEnabled(true);但无济于事。

我已经尝试为两者实现onSaveInstanceStateonRestoreInstanceState调用super第一件事。onSaveInstanceState被按预期调用,但从onRestoreInstanceState未被调用。此外,savedInstanceState传递给onCreate总是null

在清单中,我已经尝试过android:alwaysRetainTaskState="true"android:stateNotNeeded="false"但没有运气。

我可以发布代码,但我不确定什么代码是相关的,因为系统似乎没有做它应该做的事情。什么可能导致视图的状态不被android自动保存?任何帮助表示赞赏,如果需要,我可以发布特定代码。

旁注:如果有任何区别,我正在使用 AppCompat。

0 投票
1 回答
230 浏览

java - 保存和恢复 ArrayDeque onSaveInstanceState

我正在开发一个视频应用程序,该应用程序使用 ArrayDeque 来存储我们查看的视频历史记录,使用推送、弹出。它运作良好,但我正在寻找一种干净的方式来保存和恢复 ArrayDeque

我通过将列表保存为数组列表来保存列表。

然后我恢复它

它可以以比这更有效/更清洁的方式完成吗?

我试过outState.putSerializable("videoHistory", mVideoHistory.toArray());但恢复给我带来了问题。

0 投票
2 回答
2692 浏览

android - SavedInstanceState 始终为 null,即使它有一个 id

我找到了很多关于这个问题的答案,但似乎没有一个有效。这是中的代码Activity

如您所见,super.onSaveInstanceState(savedInstanceState)在最后,所以它应该可以工作。我的布局确实有一个id,所以这也应该没问题:

仍然,当我打电话startActivity去另一个Activity并返回时(使用ActionBar),savedInstanceState捆绑包onCreate为空。

0 投票
1 回答
1363 浏览

android - Android中收藏列表的最佳方式?

我想在我的应用程序中使用收藏列表功能,但我不知道哪个是最好的方法,保存在 SQLiteDataBaseSharedPreference中。管理内存的最佳方法是什么?
请解释选择我所知道的更好的原因。

谢谢大家<3

0 投票
1 回答
337 浏览

java - 无法保存 RelativeLayout 的状态

我正在制作一个具有活动的应用程序,用户可以在其中向对象添加图片,在这里我让用户选择从图库中选择图片或使用相机制作新图片。这两个选项都启动了一个 Intent(在用户完成选择图片之后)返回到它来自的活动。

但我遇到的问题是,当用户回来时,有时该活动的一些数据会丢失,所以我使用已保存的实例“重新加载”它。我尝试保存的对象之一是扩展RelativeLayout 的自定义视图的arraylist。但是当我加载以下数据时,我收到以下错误:

这是我的自定义 RelativeLayout 类:

还有我的 onSaveInstanceState 和 onRestoreInstanceState:

我究竟做错了什么?

0 投票
0 回答
320 浏览

android - 片段中的编辑文本在 setText() 后重置

我将旋转时 EditText 的内容保存为

在我创建的 onActivity 中,我试图将其重置为以前的值

我调试了上面的代码,“savedText”的值确实是我存储在 onSaveInstanceState 中的值,但是在将它设置为 editText 之后。它仍然显示为空白。我没有其他与editText 发生冲突的代码。