关于static

static :全局变量\常量
在Android上,有许多人都建议不要使用static
原因:1.出现不安全的问题
2.全局变量:APP启动就一直存在,直到APP被杀死才会回收掉。
根据这个情况,就会出现导致内存浪费,甚至造成内存溢出
避免:
第2种情况:就是不要滥用static就可以避免了。
第1种情况:出现不安全问题:可能由于某种情况,static修饰的值被改变或者置空,造成bug出现。
解决方法:
1.1:使用final可以避免数据被修改的问题
1.2:但是变量可能是动态的(不能用final),这种情况就可能出现空指针的问题,还有它的数据安全性问题
1.2.1: 避免空指针,建议不是需求的需要,对其初始化,如String “”, int 0 …
这里写图片描述
1.2.2:数据安全性的问题,实际上大多数都是逻辑导致的数据异常,究其根源,那就是避免业务逻辑问题,但是这个就太难讲了,所以举个例子,让读者们举一反三:
public static String testString = “”;
testString 在 AActivity 中,做了业务逻辑的处理,它的值应该是 ‘woaini’
当 testString 去到 BActivity中, 它的值需要变成 ‘wobuaini’
项目运行是没错,当用户在BActivity由于某些你想不到的方法跳到了AActivity中,而你并没有让 testString 更改为’woaini’ 这个时候,你就完蛋了。
所以你要考虑到,不断你怎么变化,你要完完全全的保证,testString 是你想要的值就行。

所以大胆的使用,避免上面的问题就行,灵活使用给你带来的将是许多的便捷。

注: 上面只是根据本人使用和一些人提出的问题,解决这些问题,也许考虑的并不是最全的,仅供参考,有错误的地方,望指正,感激不尽。

猜你喜欢

转载自blog.csdn.net/qq_18581651/article/details/79791429
今日推荐