美文网首页
尽量不使用静态变量保存数据

尽量不使用静态变量保存数据

作者: bobo_li | 来源:发表于2018-04-11 08:57 被阅读0次

而本文讲解的其实并不是一个技术方面,而是一个Android产品研发过程中的技巧:尽量不使用静态变量保存核心数据。

这是为什么呢?这是因为Android系统中的应用进程并不是安全的,包括application对象、静态变量在内的进程级别变量并不会一直呆着内存里面,它会被kill掉,它真的有可能会被kill掉,真的真的,重要的事情说三遍。

与大家普遍的看法不同之处在于,当进程被干掉之后,实际上app不会重新开始启动。Android系统会创建一个新的Application 对象,然后启动上次用户离开时的activity以造成这个app从来没有被kill掉得假象。而这时候静态变量等数据由于进程已经被杀死而被初始化,所以就有了我们的不推荐在静态变量(包括Application中保存全局数据静态数据)的观点。

相关文章

  • 尽量不使用静态变量保存数据

    而本文讲解的其实并不是一个技术方面,而是一个Android产品研发过程中的技巧:尽量不使用静态变量保存核心数据。 ...

  • 2019-01-18R基本操作和常识

    基本操作 读取本地数据 设置行名,列名 数据框导出 变量保存与加载 提取元素 直接使用数据框中的变量 保存作图 不...

  • C语言的基础知识点总结

    ①关于变量存储的内存分布 C语言把保存所有变量的数据区分为动态存储区和静态存储区。动态存储区使用堆栈来管理的,适合...

  • android中其他优化

    1 android不用静态变量存储数据 静态变量等数据由于进程已经被杀死而被初始化 使用其他数据传...

  • iOS Block学习笔记(六) -- Block与__bloc

    我们看Block可以保存静态局部变量的地址, 通过这种方式修改静态局部变量的值, 如果是使用的自动变量, 为何不能...

  • 小技能优化知识点

    一、android不用静态变量存储数据 原因:静态变量等数据由于进程已经被杀死而被初始化 如果需要传输数据请使用:...

  • Android-static关键字开发注意细节

    1. static可否单独使用来保存项目中用到的数据?(这里指的是静态变量:类.量 = 值) 答案是可以的,但是需...

  • iOS探究 --- 内存管理

    内存布局 代码段:保存程序二进制。bss:一般保存全局静态变量等。data:保存初始化的全局变量,静态变量。栈:保...

  • VBA初学(笔记草稿1)

    关于变量的生存周期设置使用: 声明静态变量时使用statice,动态变量使用dim // VBA的数据类型分为: ...

  • 第12章 动态内存

    静态内存:保存局部static对象,类static数据成员以及定义在任何函数之外的变量。 栈内存:用来保存定义在函...

网友评论

      本文标题:尽量不使用静态变量保存数据

      本文链接:https://www.haomeiwen.com/subject/cntahftx.html