在android中,哪种方式更适合在活动之间传递参数

在android中,哪种方式更适合在活动之间传递参数,android,Android,可能重复: 好的,假设在我的Activity1.java中有一个名为date 如果我将其声明为静态,那么在我的Activity2中,我可以通过编写Activity1.date来调用它的值 如果不是静态的,我可以在启动活动2时通过Bundle传递日期值 这两种方法都有效 我的问题是哪一个最受欢迎,缺点较少?当然,在捆绑包中传递的信息耦合性要小得多 有静态Activity2不能没有Activity1而存在。活动应该是高度可重用的,但是通过静态,您可以将活动高度耦合。静态是不好的,原因有很多,主要是

可能重复:

好的,假设在我的Activity1.java中有一个名为
date

如果我将其声明为静态,那么在我的Activity2中,我可以通过编写
Activity1.date
来调用它的值

如果不是静态的,我可以在启动活动2时通过
Bundle
传递日期值

这两种方法都有效


我的问题是哪一个最受欢迎,缺点较少?

当然,在捆绑包中传递的信息耦合性要小得多


有静态Activity2不能没有Activity1而存在。活动应该是高度可重用的,但是通过静态,您可以将活动高度耦合。

静态是不好的,原因有很多,主要是因为它是。。。静止的这意味着它将始终占用内存,而且您只有一个字段实例可在所有活动实例中共享

正因为如此,你可以在很多地方用很多微妙的方式咬你的牙齿。例如,如果您为同一个活动编写多个单元测试,那么该值将被共享,因此您的测试将不是独立的。或者另一个用例:堆栈上有多个活动实例——它们都将共享值,在许多情况下,这不是您想要的


底线:不要做静电。静态可以为您节省一两行代码,但会带来很多麻烦。顺便说一句,它不是特定于android的,它适用于任何平台

这就是所谓的静态域优势,即它是静态的:p