私はその保持フラグメントをuiで参照し、ビュー上の参照はメモリリークを引き起こす可能性があります。私はいくつかの参照をビューに保存し、setRetaineInstance(true)を設定するフラグメントでテストアプリケーションを作成しますが、いくつかの画面の回転ではリークは発生しません。 MATは、親アクティビティのインスタンスが1つしかないと言います。私は間違っているの?どのような場合にuiでフラグメントを保持するとリークが発生する可能性がありますか?なぜUIでフラグメントを保持しないことをお勧めしますか?
RetainInstanceActivity.java
public class RetainInstanceActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, RetainFragment.newInstance())
.commit();
}
}}
RetainFragment.java
public class RetainFragment extends Fragment {
private View mLogin;
private View mPassword;
private View ImageView;
public static RetainFragment newInstance() {
final RetainFragment fragment = new RetainFragment();
return fragment;
}
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
}
@Override
public View onCreateView(final LayoutInflater inflater,
final ViewGroup container, final Bundle savedInstanceState) {
final View view = inflater.inflate(R.layout.fragment_retain, container,
false);
mLogin = view.findViewById(R.id.login);
mPassword = view.findViewById(R.id.password);
ImageView = view.findViewById(R.id.img);
return view;
}
}
これはあなたがここに記載されて見たことがありますか? – Kerry
[Here](http://stackoverflow.com/questions/13421945/retained-fragments-with-u-and-memory-leaks?answertab=votes#tab-top)を参照してください。 – Bracadabra