【发布时间】:2016-11-14 11:21:09
【问题描述】:
我想知道是否对Fragment 或Activity 进行托管静态引用可以吗?托管我的意思是释放相关生命周期回调的静态引用。请考虑以下代码:
public class StaticReferencedFragment extends Fragment {
public static StaticReferencedFragment instance;
public StaticReferencedFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_static_referenced, container, false);
}
@Override
public void onStart() {
super.onStart();
instance = this;
}
@Override
public void onStop() {
super.onStop();
instance = null;
}
}
我是否有泄露Fragment/Activity 对象的风险?
【问题讨论】:
-
不,不是。它总是闻起来像糟糕的设计
-
你为什么需要这个
-
@Blackbelt 出于好奇,详细说明一下。为什么这是个坏主意?
-
@TimCastelijns 我只是在问。有时访问该死的东西很方便。
标签: android android-fragments android-activity memory-leaks