ImageView#setImageResourceメソッドを使って、サイズの大きな画像を表示させようとすると、メモリリークを起こしてアプリが落ちてしまいますが、「Glide」という画像ロードフレームワーク(ライブラリ)を使うと、それをよしなになってくれるという話です。
【参考】Glide
https://bumptech.github.io/glide/
使い方は非常に簡単で、
1.アプリレベルのbuild.gradleに依存関係を追加
compile 'com.github.bumptech.glide:glide:4.6.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
dependenciesの箇所に追加してください。
2.画像をロードしてImageView(ロードした画像を表示させたいビュー)に表示させるコードを追加
Glide.with(this).load(R.drawable.keihan_densha).into(imageView)
この場合は、
- Activityに(withメソッドの引数)、
- drawableフォルダで入れた画像(loadメソッドの引数)を、
- ImageView(intoメソッドの引数)に
表示させています。
withメソッドの引数はFragmentでもいけますし、ロードする画像はアプリの外の共有ファイルや外部サーバー、ネット経由での取得も可能なので、超便利です。
(詳しくは下の動画で解説していますので、よろしければご覧ください)