FragmentPagerAdapterは、画面切り替えでViewをattach, detachする。
Viewの状態は維持されているため、メモリを使う。
FragmentStatePagerAdapterは、画面切り替えでadd, removeを使っているので、Viewが破棄される分メモリは使わない。
ただし、Viewの復元には工夫が要る。
FragmentStatePagerAdapter | Android Developers
CustomFragment.javaで、
初回生成の時は、はsavedInstanceStateがnullなので、newInstanceの時にsetArgumentsしたテキストをgetArgumentsで取得すればいい。
切り替えで破棄と再生成される時は、onSaveInstanceStateでテキストを保存しておいてるので、savedInstanceStateがnullではないから、そこから取得する。
どっちに来るかログを出してるので、あとで見てみる。
CustomFragmentStatePagerAdapter.javaは、
FragmentStatePagerAdapterから派生させてる以外は変わらない。
MainActivity.javaでは、
CustomFragmentStatePagerAdapterオブジェクトcfspaをセットしてる。

起動時。
Zeroだけど、

右隣のOneも初回生成。

スワイプでOneに移動。

Twoが追加生成。

Twoに移動。

Threeが追加生成。

Threeに移動。

Fourが生成。

Fourに移動。

この時は何も起きない。

Threeに戻る。

保存していたテキストTwoを使ってTwoのViewが復活。

Twoに移動すると、

OneのViewが復活。