일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Github
- 유튜브
- MVVM
- 안드로이드
- studio
- Kotlin
- error
- RecyclerView
- flow
- 깃헙
- WebView
- 레트로핏
- 안드로이드스튜디오
- Gradle
- 안드로이드 스튜디오
- ADB
- image
- coroutine
- 안스
- 코루틴
- 에러
- Android
- viewpager
- 의존성주입
- Retrofit
- build
- dart
- 코틀린
- 웹뷰
- 스튜디오
- Today
- Total
코딩하는 일용직 노동자
Coil - 안드로이드 이미지로더 본문
# Coil은 무엇인가?
이번 포스팅은 새로나온 이미지 로딩 라이브러리 Coil에 대해 알아보겠습니다.
요즘 실무에서 가장 많이쓰이는 이미지 라이브러리라면 Glide를 꼽을 수 있겠습니다.
하지만 Coil은 Glide 보다도 더 가볍게 만들어져 있기에 간단한 앱에 사용해보기에 괜찮을 듯 합니다.
Coil은: Coroutine Image Loader의 약자입니다.
Coil은 Kotlin Coroutines으로 만들어진 Android 백앤드 이미지 로딩 라이브러리입니다.
코루틴 자체가 내장이 되어있기 때문에 코루틴을 별도로 생성하지 않아도됩니다.
공식 사이트에서 소개하는 Coil 장점은 아래와 같습니다.
빠르다: Coil은 메모리와 디스크의 캐싱, 메모리의 이미지 다운 샘플링, Bitmap 재사용, 일시정지/취소의 자동화 등등 수 많은 최적화 작업을 수행합니다.
가볍다: Coil은 최대 2000개의 method들을 APK에 추가합니다(이미 OkHttp와 Coroutines을 사용중인 앱에 한하여), 이는 Picasso 비슷한 수준이며 Glide와 Fresco보다는 적습니다.
사용하기 쉽다: Coil API는 심플함과 최소한의 boilerplate를 위하여 Kotlin의 기능을 활용합니다.
현대적이다: Coil은 Kotlin 우선이며 Coroutines, OkHttp, Okio, AndroidX Lifecycles등의 최신 라이브러리를 사용합니다.
최소 Android SDK 14버전부터 사용이 가능하고 Kotlin 환경에서 사용해야 하는것은 단점일수 있겠습니다.
# 사용방법
Project 레벨 build.gradle 파일에 다음과 같이 mavenCentral() 을 추가해줍니다.
allprojects {
repositories {
google()
jcenter()
mavenCentral()
}
}
Module 레벨 build.gradle 파일에 라이브러리를 적용해줍니다.
implementation("io.coil-kt:coil:1.0.0")
사용방법은 굉장히 간단합니다.
// URL
imageView.load("https://www.example.com/image.jpg")
// Resource
imageView.load(R.drawable.image)
// File
imageView.load(File("/path/to/image.jpg"))
// And more...
이미지를 후처리 하거나 placeholder 를 적용하려면 아래처럼 적용하면 됩니다.
imageView.load("https://www.example.com/image.jpg") {
crossfade(true)
crossfade(400)
placeholder(R.drawable.ic_placeholder)
transformations(CircleCropTransformation())
}
이밖에도 다양한 사용방법들이 있으니 아래 링크로 가셔서 확인해보시기 바랍니다.
https://coil-kt.github.io/coil/
Coil
Overview An image loading library for Android backed by Kotlin Coroutines. Coil is: Fast: Coil performs a number of optimizations including memory and disk caching, downsampling the image in memory, re-using bitmaps, automatically pausing/cancelling re
coil-kt.github.io
'안드로이드' 카테고리의 다른 글
Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $ 에러 (1) | 2020.11.21 |
---|---|
ReactiveX ? RxAndroid ? (0) | 2020.11.14 |
안드로이드 스튜디오 4.1 업데이트 후 kotlin-android-extensions를 수동으로 추가해야함. (0) | 2020.10.25 |
Android Studio v4.1 Release (0) | 2020.10.13 |
Dexter - 퍼미션 라이브러리 (0) | 2020.09.27 |