【发布时间】:2011-10-26 09:46:59
【问题描述】:
在 Fragment 中,您是否应该在每次需要引用活动时调用 getActivity() 或创建全局变量“mActivity”并使用它。
基本上你已经有了一个 Activity 对象 (getActivity()),感觉就像创建一个全局 (mActivity) 是重复代码并创建一个不需要的额外引用。 但是在任何地方都使用 getActivity() 看起来很糟糕,并且每次调用多个方法都感觉不对(性能?)。
// Pseudo Android
public class MyFragent extends Fragment {
private Activity mActivity; // Global
public void onActivityCreated(Bundle b){
mActivity = getActivity();
}
public void onClick(View v){
randomMethodTakingActivity(mActivity);
// or
randomMethodTakingActivity(getActivity());
}
private void someMethod(){
randomMethodTakingActivity(mActivity);
// or
randomMethodTakingActivity(getActivity());
}
private void anotherMethod(){
mActivity.someCallback();
// or
getActivity().someCallback();
}
}
这也与 getApplication() 或 getView() 相关;
我已通读Coding for Performance,但看不到任何相关内容。我想要一些关于 OO 本质和性能的反馈(尽管可能可以忽略不计)。
【问题讨论】:
标签: java android performance oop design-patterns