FragmentTransaction.detachは、Fragmentから紐づく"View"を取り外す。
FragmentTransaction | Android Developers
Fragment.onDetachは、紐づく"Activity"との関係を解除した時に呼ばれるので、実は無関係。
ただ、今回はFragment.onDetachのコードをベースに、MainActivity.javaを、
こうする。
Button1でFragment1をdetach、Button2であらかじめ保存しておいたFragment1の参照mFragmentのgetViewがnullになるかをチェック。

起動時はこう。
この時にButton2を押しても、

viewはnullではない。
Button1を押すと、

中のTextViewが消えてる。
削除ではなくデタッチされただけ。

なのでonDestroyViewは呼ばれているが、onDestroy、onDetachは呼ばれない。
Button2を押すと、

viewがnullになってるのがわかる。