首页 > Android中使用静态变量是否可靠?

Android中使用静态变量是否可靠?

在A-Activity中使用静态变量在B-Activity中使用,代替用Intent从A把值传到B的做法,有什么问题么?


非常不恰当,能不用静态变量的,就不用静态变量.除非你就写个demo\写完就扔的项目\或者永不升级的项目.

工具类除外.


1.安全
2.使用方便否
3.是否可靠


静态变量除非你有精确控制,否则大多数情况下是不可靠的,跨域使用静态变量个人理解有违低耦合化的程序设计思想,用于取代intent传值是不应当的。


补充一下,android代码中使用静态变量传值很方便,但是可能会导致内存泄露,举个最简单的栗子(更复杂的情况还有很多):

public class A extends Activity {

    public static A instance;
    
    public void onCreate() {
        super.onCreate();
        instance = this;
    }

} 

由于A的实例被静态变量instance引用,导致即使在activity生命周期结束之后,内存也无法释放


你怎么定义可靠..

这个变量本身十分可靠, 只要进程在就能用, 连gc也不怕

不可靠的是人, 没法保证开发者多的时候每个人都不写错


1.使用共享的静态变量作为参数,要考虑多任务读写时可能会带来的并发问题;
2.如果参数很多就需要创建很多静态变量,并且被不同的组件引用,会导致类变得复杂不容易维护;
3.静态变量无法替代不同App间使用Intent交互时的参数传递。
使用Intent(action, category)最大的好处就是解耦,使用静态变量作为Activty间的传参会增加组件间的耦合,是完全没有必要的。


Android中静态变量是否可靠。。这个你要搞清楚Java中静态变量是否可靠

【热门文章】
【热门文章】