文档章节

onCreate(Bundle savedInstanceState, PersistableBundle persistentState)

Carbenson
 Carbenson
发布于 2017/01/04 14:38
字数 348
阅读 96
收藏 0
@Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
    }

持久化,在onCreate时加入持久化参数

Api21新加的特性 5.0

这是一个和Bundle差不多的东西,Bundle我们就比较熟悉了。他两都是一个键值对,前者多了这么一段话,can be saved to persistent and later restored,可以持久化保存并且可以恢复。我们再看一下新的onCreate()方法的源码。

 /**
     * Same as {@link #onCreate(android.os.Bundle)} but called for those activities created with
     * the attribute {@link android.R.attr#persistableMode} set to
     * <code>persistAcrossReboots</code>.
     *
     * @param savedInstanceState if the activity is being re-initialized after
     *     previously being shut down then this Bundle contains the data it most
     *     recently supplied in {@link #onSaveInstanceState}.
     *     <b><i>Note: Otherwise it is null.</i></b>
     * @param persistentState if the activity is being re-initialized after
     *     previously being shut down or powered off then this Bundle contains the data it most
     *     recently supplied to outPersistentState in {@link #onSaveInstanceState}.
     *     <b><i>Note: Otherwise it is null.</i></b>

    public void onCreate(@Nullable Bundle savedInstanceState,
            @Nullable PersistableBundle persistentState) {
        onCreate(savedInstanceState);
    }

从源码中可以看到,依然是调用了原始的onCreate()方法,结合以下两个方法,

 @Override
    public void onSaveInstanceState(Bundle outState, PersistableBundle outPersistentState) {
        super.onSaveInstanceState(outState, outPersistentState);
    }

    @Override
    public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onRestoreInstanceState(savedInstanceState, persistentState);
    }

  最后记得在配置文件中注册当前Activity的时候加上这个属性android:persistableMode="persistAcrossReboots,这样就可以给你的Activity存储一些持久化数据。当你的手机重启或者发生其他意外情况的时候,也可以给你的页面获取到相关数据。 

本文转载自:http://blog.csdn.net/sunluyao_/article/details/50395791

Carbenson
粉丝 19
博文 271
码字总数 84864
作品 0
广州
程序员
私信 提问
android studio 运行模拟器调试时为什么是空白的

我做的是两个activity当点击切换到第二个时就是空白的出现如下错误提示 W/EGL_genymotion﹕ eglSurfaceAttrib not implemented Failed to set EGL_SWAP_BEHAVIOR on surface 0xa51374e0, er...

fyhx9999
2015/09/25
10.8K
1
Bundle savedInstanceState的作用

写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数saved...

henry-zhang
2015/06/11
566
0
intent编译没错,程序崩溃

public class MainActivity extends ActionBarActivity { private Button button = null; String s = "cbdskjba"; @Override protected void onCreate(Bundle savedInstanceState) { super.o......

指间流沙
2015/11/18
49
0
通过Android源代码分析startActivity()过程(下)

通过Android源代码分析startActivity()过程(下) 继续分析startActivity()。 [上一篇blog][1]讲到通过zygote进程fork出了一个新的应用进程,接下来我们需要分析这个进程启动之后的事情。 zy...

Cundong
2016/04/14
947
1
Android中Activity之间的简单数据传递

在MainActivity中: public class MainActivity extends Activity { EditText etname,etsex,etnumber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(sav......

sjh1995
2016/03/30
21
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义ApiBoot Logging链路以及单元ID生成策略

ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。 前文回顾...

恒宇少年
21分钟前
8
0
浅谈 Application 和 activity

对于 在 Application初始化一些变量,为什么不可以放在activity 或者其他的组件里呢? 这里就根据个人的理解来讲述一下,欢迎补充指正。 首先 activity 是以栈的形式出现,一个app应用会有多...

MrLins
21分钟前
8
0
Allegro的脚本文件内容里都有哪些

小伙伴们在使用Allegro的时候是否经常用到脚本文件夹呢?scr的用法其实可真不简单。。。 首先脚本文件的运行模式就存在很多种,比如不提示错误信息,不弹出确认对画框(这样很有利于我们执行...

demyar
23分钟前
16
0
微信升级外链管理规范,「砍一刀帮我加速」要被禁止了

原创: 蒋鸿昌 首发:「知晓程序」公众号 - 最好的微信新商业媒体 几天前,知名互联网评论人阑夕模仿皮尤研究中心(Pew Research Center)在美国做的互联网通识调查问卷,做了一份中文版问卷...

知晓云
23分钟前
14
0
CentOS 7接投影仪

我将一台安装着CentOS 7图形界面的惠普笔记本电脑当桌面使用。最近,想要连接投影仪时却遇到了问题。笔记本有一个HDMI接口。我买了一个HDMI---->VGA的转接线,连上笔记本电脑后,屏幕一直在闪...

大别阿郎
27分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部