android-1.0-四大组件-PersistableBundle

一、为什么要介绍PersistableBundle?

在sdk版本>=21 开发中,有时候因为码代码经常使用快捷键,很容易就把onCreatef方法打错
看这两个方法

第一种:

 @Override
   protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
   
   }

第二种:

 @Override
 public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
    super.onCreate(savedInstanceState, persistentState);

 }

当Activity直接使用第二种方法的时候,界面显示为空白的界面,有时候需要花很长时间才能找到问题,我自己也遇到过好几次这样事,介绍这个纯粹就是给自己一个深刻影响

二、什么是PersistableBundle?

这在API 21 新出的一个属性,它是可以将Activity数据持久化保存,使用的时候必须在Mainfest设置activity数据

 android:persistableMode="persistAcrossReboots"

三、哪些地方存在PersistableBundle?

在Activity 中有三个方法存在PersistableBundle

-onCreate()方法
-onSaveInstanceState()方法
-onRestoreInstanceState()方法

四、PersistableBundle 怎么使用?

数据保存

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

数据提取

 @Override
public void onRestoreInstanceState(Bundle savedInstanceState, PersistableBundle persistentState) {
    super.onRestoreInstanceState(savedInstanceState, persistentState);
    if (persistentState != null) {
        String value = persistentState.getString("key");
    }
}

五、其他问题

没怎么弄明白有了onSaveInstanceState 一个参数的方法,为什么还要弄一个两个参数的方法。他们的区别是什么,怎么才可以提现出他们的差异

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,486评论 25 709
  • 【Android Activity】 什么是 Activity? 四大组件之一,通常一个用户交互界面对应一个 ac...
    Rtia阅读 9,253评论 3 18
  • 夜晚,月亮是草字头的那种白 天穹像蓝墨水一样蓝 万物仿佛恢复了童年 树影摇晃,风在收割 它收走了一地的空酒瓶,昏沉...
    舒严阅读 2,435评论 0 0
  • “试着找找,有没有通往地下室的门?” 她耳边传来轻柔如呢喃般的声音。 她两眼往上翻,瞥了一眼灰暗得看不清的屋顶,眉...
    在纵情中平凡阅读 3,328评论 0 0
  • 如何打造大脑的全局领导力 执行功能障碍 个有执行功能障碍的人常常会有拖延的问题,但是,不是所有的拖延者都会有执行功...
    Dl_毛良伟阅读 1,882评论 0 1

友情链接更多精彩内容