首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >保留数据的Android片段

保留数据的Android片段
EN

Stack Overflow用户
提问于 2012-08-07 20:13:37
回答 3查看 5.7K关注 0票数 5

当片段的活动经历onCreate/Destroy循环时,如何最好地保留片段中的数据?

在我们的设置中,我们有可能很大的列表从我们的服务器加载到片段自定义列表适配器中,我们希望通过不让它们在轮换时重新加载来平滑UX。我们在设置片段retainInstance=true时遇到的问题是,我们的适配器引用了原始活动的上下文,因此会泄漏内存。我们是否可以将数据存储在片段中并重新创建适配器;如果是这样,这真的是正确的做法吗?

下一个想法是将数据存储到一个会话单例对象中,并在轮换后检索,这会给陈旧的数据带来一些问题,但我们可以很容易地克服。

我看到的另一种选择,似乎是*最好的解决方案,是将数据保存到捆绑包中,并在旋转后恢复到新的片段中;然而,我们有相当多的对象需要存储在整个应用程序中,并且我们的一些对象很复杂,包含列表,多种类型,并且使其成为可打包的对象将是一件痛苦的事情。有没有更好的解决方案,或者我们必须咬紧牙关让它们变得可打包?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-07 20:17:44

只需防止活动在循环中重新创建(等)。添加

代码语言:javascript
运行
AI代码解释
复制
android:configChanges="keyboardHidden|orientation|screenSize"

添加到AndroidManifest.xml中的活动定义中。这样就不需要在旋转时保存任何内容了。

编辑:

如果您不喜欢该解决方案,那么您别无选择,只能使用onSaveInstanceState机制。如果你有复杂的数据,只需使你的类可序列化,并以这种方式将它们添加到Bundle中。

票数 4
EN

Stack Overflow用户

发布于 2014-09-12 13:15:31

设置

安卓:configChanges

属性是禁用默认销毁和重新创建行为的最黑客和最广泛滥用的解决方法。

有关更多信息,请参阅

使用片段处理配置更改的:

http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html

票数 1
EN

Stack Overflow用户

发布于 2016-03-14 01:25:49

根据http://developer.android.com/guide/topics/resources/runtime-changes.html,you的说法,完全可以将数据保存在片段中,只要它不与活动、视图等相关联。捆绑包真的不是用于大量数据的,并且序列化很慢,所以片段是大量数据的理想选择。

您可能无法使用系统通过onSaveInstanceState()回调为您保存的捆绑包完全恢复您的活动状态-它不是为携带大型对象(如位图)而设计的,其中的数据必须被序列化然后反序列化,这会消耗大量内存并使配置更改变得缓慢。在这种情况下,您可以通过在活动由于配置更改而重新启动时保留片段来减轻重新初始化活动的负担。此片段可以包含对要保留的有状态对象的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11853389

复制
相关文章
Android 开发常用代码片段
在AndroidManifest.xml中配置Activity节点是配置theme如下:
阳光岛主
2019/02/19
7150
InfluxDB 设置数据保留策略,验证保留的数据存储大小
在使用Telegraf+InfluxDB+Grafana监控服务器资源的时候,如果influxdb中的数据不设置超时过期的机制的话,那么数据就会默认一直保存。这样一直保存的话,数据量就会导致偏大。 这时候就要适当调整influxdb的数据存储时长,保留最近一段时间的数据即可。
Devops海洋的渔夫
2019/12/02
11.9K0
Android中关于保留小数点位数的处理
例:new java.text.DecimalFormat(“#.00”).format(3.1415926)
乱码三千
2021/07/29
2.8K0
kafka 有几种数据保留的策略
Kafka Broker默认的消息保留策略是:要么保留一定时间,要么保留到消息达到一定大小的字节数。
程序狗
2021/09/02
2.7K0
kafka 有几种数据保留的策略
sql 删除重复的数据,保留一条,并且保留update_time最大的那条
近期面试的时候,考官出了一道题,当时没有做出来。第二天灵光乍现吧,写出来了,特此记录一下。
Theone67
2020/03/19
1.5K0
丢弃 or 保留?——大数据之异常数据
举例来说,在以数据加密为标准做法并且需要实时进行访问记录和数据检查的高端网络安全领域,识别并认定符合数据非特征运动的特征(即通过发现异常来检测安全问题)是至关重要的步骤。上述思想可以应用于从金融审计到科学探究再到检测网络威胁等领域,在这些领域,发现和识别非正常现象才是服务的关键。
IT阅读排行榜
2018/08/16
5820
丢弃 or 保留?——大数据之异常数据
Js保留树型数据指定层级
明知山
2023/07/11
2830
Js保留树型数据指定层级
MySQL——定时备份,保留最新31天的数据
概述: 对于我们的生产数据库,都需要定时做备份,以免数据丢失。比如每日备份,同时也需要将以前的进行清理。此处我展示的是只保留最新的 31 天数据。
凡人飞
2020/09/20
1.2K0
TCGA tRNA延伸片段数据库
我们都知道,RNA可以分为转运RNA(tRNA), 核糖体RNA(rRNA)以及信使RNA(mRNA)。而tRNA会被降解成一些非编码的小片段。这些小片段就称为tRNA延伸片段(transfer RNA-derived fragments, tRFs)。按照研究类型目前tRFs主要可以分为:5ʹ-and 3ʹ-halves (>30 nt), 5ʹ- and 3ʹ-tRFs (15–30 nt), i-tRFs 和 3ʹU-tRFs 这六个类型。
医学数据库百科
2022/04/01
6530
TCGA tRNA延伸片段数据库
CISO注意:保留数据记录的“七宗罪”
对于受到越来越多法规和法律义务约束的企业组织而言,保留数据记录既是生活中的既定事实,也是日渐棘手的问题。本文将介绍保护数据和文档安全的最糟的做法。
FB客服
2021/04/29
4360
PQ-数据转换11:隔行删除(保留)数据的巧妙设计
小勤:大海,我从网上复制了个数据好恶心啊,每隔一行就有一些乱七八糟的字符,怎么样能方便删掉?
大海Power
2021/08/31
1.3K0
文档片段(createDocumentFragment)
1.createDocumentFragment var one = document.getElementById("one"); var k = document.createDocumentFragment(); var p = document.createElement("p"); p.innerHTML = "我们不一样"; k.appendChild(p); one.appendChild(k) console.log(k) //文档里没
天天_哥
2018/09/29
5230
Python保留小数的方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169776.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/21
2.7K0
php代码片段
获取文件后缀
lilugirl
2019/05/26
4.1K0
[linux][c/c++]代码片段01
#include <stdio.h> #include <unistd.h> void usage() { printf("Usage:\n"); printf("\tOptDemo [-a] [-b] [-c message]"); } int main(int argc, char *argv[]) { int o; const char *optstring = "abc::"; // 有三个选项-abc,其中c选项后有两个冒号,表示后面可选参数 whi
landv
2019/11/10
6820
[linux][c/c++]代码片段02
 gcc `pkg-config --cflags gtk+-3.0` -o example-1 example-1.c `pkg-config --libs gtk+-3.0`
landv
2019/11/11
5010
[linux][c/c++]代码片段02
小知识:如何修改TFA下的OSW数据保留时间
How to change oswatcher retention when running under TFA 但很遗憾该问题目前也没有给出确切答复。
Alfred Zhao
2020/07/01
1.1K0
点击加载更多

相似问题

Android保留片段?

20

布局中的Android片段-保留变量数据

23

无法保留Android片段

10

Kotlin Android扩展和保留片段

30

Android:片段保留实例内存管理

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档