public class GenericRetainedFragment extends GenericFragment {
@Bind(R.id.some_button)
Button button;
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setRetainInstance(true);
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
ButterKnife.bind(this, view);
}
@Override
public void onDestroyView() {
super.onDestroyView();
ButterKnife.unbind(this);
}
}由于我不知道ButterKnife如何处理解除绑定方法,在配置更改后,是否会发生内存泄漏?
这是使用ButterKnife和保留片段的好做法吗?
发布于 2016-03-09 11:00:10
我不认为保留的片段会有任何问题,因为片段的实例应该始终是“活动的”,直到它被删除。它不会进入后台堆栈,因此它的视图会被销毁并可能重新创建(这是片段的正常情况,需要使用ButterKnife的特殊模式)。保留片段的一个实例将只有一组视图,除非您做一些更改。
https://stackoverflow.com/questions/35881667
复制相似问题