【发布时间】:2011-07-24 00:34:30
【问题描述】:
我正在尝试将我的视图状态保存在我的片段中,但我担心我会泄露我的活动。这是我正在做的事情:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state){
if(mView != null){
View oldParent = mView.getParent();
if(oldParent != container){
((ViewGroup)oldParent).removeView(mView);
}
return mView;
}
else{
mView = inflater.inflate(R.id.fragview, null)
return mView;
}
}
我很担心,因为我知道所有视图都保存在一个上下文中,如果从充气器中充气,我不知道它是活动上下文还是应用程序上下文。也许使用 getActivity().getApplication() 务实地创建视图并设置其属性而不是使用充气器会是一个更好的主意。如果您对此有任何反馈,我将不胜感激。
谢谢!
编辑:确认 Activity 泄漏,尽管此代码效果很好,但不要这样做:*(
【问题讨论】:
标签: android memory-leaks android-fragments android-support-library