在一个Fragment中,每次需要引用Activity时,应该调用getActivity()还是创建全局变量'mActivity'并使用它?
基本上,您已经拥有一个Activity对象(getActivity()),创建全局变量(mActivity)感觉像代码重复,并且创建了不必要的额外引用。 但是,在每个地方都使用getActivity()看起来很糟糕,并且每次进行多个方法调用感觉不正确(性能?)。
基本上,您已经拥有一个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()相关。
我已经阅读了编写性能优化代码,但没有找到相关内容。我想了解面向对象的性质以及性能方面的反馈(尽管可能可以忽略不计)。