ActivityとFragmentとCustom View

Androidのアプリを作っていると、どうしてもActivityが膨れ上がってしまう。 最初のうちはそれでも良いかもしれないけれど、コードが長くなるにつれて保守性は下がるし、テストを作る難易度が上がっていくので、ActivityとFragmentとCustom Viewの使い分けを調べてみた。

Droidkaigiで同様の発表が行われていたみたいで、凄く分かりやすい資料があったので参考のところに挙げておく。

さっきのスライド見たり、今まで書いたコードを見返したりして、個人的な基準を決めた。 ただ、Fragmentを使うタイミングがイマイチ良く分からない...

Activity

  • Intentの処理
  • メニュー関連
  • Fragment, Custom Viewの処理
  • 分類出来なかったもの全て

Custom View

  • 独自のViewを作りたいときに使う。標準コンポーネントを組み合わせて新しいViewとかを作るときに使う
  • アニメーション処理

Fragment

  • Activityに書きたく無いけどCustom Viewじゃ無理なときに使う
  • 通信周りとかファイル処理とか
  • 画面回転も考慮して行いたい処理

Fragmentが使いにくいのは、Fragmentには独自のライフサイクルがあるからだと思う。 ActivityとFragmentそれぞれにライフサイクルがあるので、この二つが組み合わさると、今どの状態に居るのかが分かりにくくなるから難しく感じる気がする。

参考

www.slideshare.net