0
0

More than 1 year has passed since last update.

[Android]思考停止で使っていたAndroid Architecture Componentのメリットを少し掘り下げる

Posted at

取り敢えず使っていたけども

Google様が推奨しているから何となく使っていたMVVMを改めてメリットについてまとめていきたいと思います。

Android Architecture Componentとは?

可読性とか保守性とかの観点でいい感じのアプリが作れるように、Googleが出してくれているライブラリ達の事です。
通称MVVMですが、正式名称ではないです。
まぁ、見た感じMVVMなのでそれで通りますがね。

メリット一覧

  • ライフサイクルを管理している

Androidのオブジェクトは、ライフサイクルという複雑な経過を辿ります。
その為、何も考えずに使っているとメモリリークが起きてしまします。
使ってないViewがずっと残り続けるなどですね。
これは、実際手動でもどうにかなるのですが、やはり自動化したいですよね。
そこで、LiveDataやViewModel等はViewのライフサイクルを独自に意識してインスタンス化されるので、Viewが破棄されるとそれに対応しているそれらも破棄されメモリリークを回避してくれます。

  • 責務を跨いでLiveDataでデータを扱うことができる

Roomでデータを保存したり、そこから取り出したりすることがあると思うのですが、その取得する際にLiveDataで返すこともできます。
View-ViewModel間のデータの保持では、LiveDataを用いるかと思うのですが、そのために普通だとどこかでパースしたりする処理が入ると思うのですが、Roomを用いるとそこをLiveDataで返すことができ、データの扱いが簡易的になります。
また、Repository層でLiveDataでAPIの結果を返すこともできます。

終わり

気づき次第追加していきます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0