总是将Activity作为参数传递给方法是否很昂贵?
你知道,我有这个课(这是我通过我的活动放置常用方法的地方)。我的所有方法都有Activity作为参数,因为这些方法的结果需要发送回调用该方法的活动,所以基本上我需要知道应该向谁扔回结果,所以我总是有喜欢:
public static void processThis(Activity activity){
// some Code
}
我只想知道这是违反最佳做法还是使用起来很昂贵?
感谢。期待您的解释能够启发我。
添加了: 我正在从我的活动中提取常用的方法来促进代码重用。就像,ActivityA使用methodA并将广播发送回ActivityA,同样适用于使用methodB的ActivityB(与methodA相同)并将广播发送回ActivityB。所以我想要实现的是提取基本相同的methodA和methodB,并将它们放入另一个类,并添加一个参数Activity,这样我就可以知道我需要向谁发送广播。感谢。
答案 0 :(得分:6)
在Java中,所有非基元的参数都是隐式指针;因此,传递诸如activity之类的对象只需要传递Activity在内存中的地址,因此在Java中传递这样的东西并不是一件昂贵的事情。
所以,你应该问自己的真正问题不是它是否昂贵,而是它是否最有意义(从逻辑/可维护性的角度来看)。如果它有意义,那么无论如何都要这样做。