Android フラグメントの遅延読み込みの実装方法

AndroidにおけるFragmentの遅延読み込みは、次のように実現できます。

  1. フラグメントに、フラグメントが一度でもデータを読み込んだかどうか判断するためのフラグを追加する。
private boolean isLoaded = false;
  1. onCreateView()
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_layout, container, false);

    if (!isLoaded) {
        // 执行数据加载逻辑
        loadData();
        isLoaded = true;
    }
    return view;
}
  1. onHiddenChanged()
@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
    if (!hidden && !isLoaded) {
        // 执行数据加载逻辑
        loadData();
        isLoaded = true;
    }
}

上記の手順により、Fragmentの遅延読み込みを実現できます。初回Fragmentが表示されるとデータ読み込みロジックが実行され、その後そのFragmentに切り替えても、Fragmentが表示されていてかつデータがまだ読み込まれていない場合にのみデータ読み込みロジックが実行されます。

bannerAds