Skip to content

Latest commit

Β 

History

History
57 lines (36 loc) Β· 3.19 KB

index.md

File metadata and controls

57 lines (36 loc) Β· 3.19 KB
layout title
default
Fast and efficient image loading for Android

μ›λ¬Έλ³΄κΈ°οΌšλ§ν¬

Glide λž€

Glide λŠ” λΆ€λ“œλŸ¬μš΄ μŠ€ν¬λ‘€λ§μ— 쀑점을 λ‘” λΉ λ₯΄κ³  효율적인 μ•ˆλ“œλ‘œμ΄λ“œ 이미지 λ‘œλ”© 라이브러리 μž…λ‹ˆλ‹€. μ‰¬μš΄ API, λ›°μ–΄λ‚œ μ„±λŠ₯의 λ¦¬μ†ŒμŠ€ λ””μ½”λ”© νŒŒμ΄ν”„λΌμΈκ³Ό μžλ™ λ¦¬μ†ŒμŠ€ 풀링을 제곡 ν•©λ‹ˆλ‹€.

Glide λŠ” λΉ„λ””μ˜€ μŠ€ν‹Έ, μ›€μ§μ΄λŠ” GIF λ‚˜ 이미지λ₯Ό λΆˆλŸ¬μ˜€κ±°λ‚˜ λ””μ½”λ”© 및 λ””μŠ€ν”Œλ ˆμ΄ ν•΄μ£ΌλŠ” κΈ°λŠ₯을 지원 ν•˜λ©°, 개발자둜 ν•˜μ—¬κΈˆ 거의 λͺ¨λ“  λ„€νŠΈμ›Œν¬ μŠ€νƒ(network stack) 에 μ—°κ²° κ°€λŠ₯ν•œ μœ μ—°ν•œ API λ₯Ό 제곡 ν•©λ‹ˆλ‹€. 기본적으둜 Glide λŠ” μ»€μŠ€ν…€ HttpUrlConnection λ₯Ό 베이슀둜 ν•˜λ˜, Google 의 Volley λ‚˜ Square 의 OkHttp 같은 λΌμ΄λΈŒλŸ¬λ¦¬λ„ ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

Glide 의 주된 촛점은 λ§€λ„λŸ½κ³  λΉ λ₯΄κ²Œ λͺ¨λ“  μ’…λ₯˜μ˜ 이미지 λͺ©λ‘μ„ μŠ€ν¬λ‘€ν•˜λŠ” κ²ƒμ΄μ§€λ§Œ, μ›κ²©μœΌλ‘œ 이미지λ₯Ό κ°€μ Έμ˜€κ³  크기λ₯Ό μ‘°μ •ν•˜κ³  λ””μŠ€ν”Œλ ˆμ΄ ν•΄μ•Ό ν•˜λŠ” 거의 λͺ¨λ“  κ²½μš°μ—λ„ νš¨κ³Όμ μž…λ‹ˆλ‹€.

API

Glide λŠ” μ‚¬μš©μžκ°€ λŒ€λΆ€λΆ„μ˜ μš”μ²­μ„ ν•œ μ€„λ‘œ λ§Œλ“€ 수 μžˆλŠ” κ°„λ‹¨ν•˜κ³  μœ μ—°ν•œ APIλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€:

Glide.with(fragment)
    .load(url)
    .into(imageView);

μ„±λŠ₯

Glide λŠ” Android 이미지 λ‘œλ”© μ„±λŠ₯의 두가지 μ£Όμš” 츑면을 κ³ λ €ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

  • 이미지λ₯Ό λ””μ½”λ”© ν•˜λŠ” 속도
  • 이미지λ₯Ό λ””μ½”λ”©ν•˜λŠ” λ™μ•ˆ λ°œμƒν•˜λŠ” λ²„λ²…μž„(jank)의 정도

μ‚¬μš©μžκ°€ μ•±μ—μ„œ 쒋은 κ²½ν—˜μ„ ν•˜λ €λ©΄ 이미지가 빨리 λ‚˜νƒ€λ‚˜μ•Ό ν•  뿐만 μ•„λ‹ˆλΌ 메인 μŠ€λ ˆλ“œ I/O μ—μ„œ 버벅거리지 μ•Šκ³  λΉ λ₯΄κ²Œ λ‚˜νƒ€λ‚˜μ•Ό ν•˜λ©°, κ³Όλ„ν•œ 가비지 μ»¬λ ‰μ…˜μ„ μœ λ°œν•˜μ§€ μ•Šμ•„μ•Ό ν•©λ‹ˆλ‹€.

GlideλŠ” Androidμ—μ„œ 이미지 λ‘œλ”©μ΄ κ°€λŠ₯ν•œ ν•œ λΉ λ₯΄κ³  λ§€λ„λŸ¬μ›Œμ§ˆ 수 μžˆλ„λ‘ λ‹€μŒκ³Ό 같은 일을 ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

  • μŠ€λ§ˆνŠΈν•˜κ³  μžλ™μ μΈ λ‹€μš΄μƒ˜ν”Œλ§κ³Ό μΊμ‹±μœΌλ‘œ μ €μž₯곡간 μ ˆμ•½ 및 λ””μ½”λ“œ μ‹œκ°„μ„ μ΅œμ†Œν™”ν•©λ‹ˆλ‹€.
  • λ°”μ΄νŠΈ λ°°μ—΄μ΄λ‚˜ λΉ„νŠΈλ§΅ 같은 λ¦¬μ†ŒμŠ€λ₯Ό μ΅œλŒ€ν•œ μž¬μ‚¬μš©ν•¨μœΌλ‘œ 가비지 μ½œλ ‰μ…˜ 및 νž™ 쑰각화λ₯Ό μ΅œμ†Œν™” ν•©λ‹ˆλ‹€.
  • Android 라이프사이클과 깊이 μ—°κ΄€ λ˜μ–΄ ν™œμ„±ν™”λœ 앑티비티와 ν”„λž˜κ·Έλ¨ΌνŠΈμ˜ μš”μ²­μ„ μš°μ„  μˆœμœ„μ— 따라 μˆ˜ν–‰ ν•˜κ³ , λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ£½λŠ” 것을 ν”Όν•˜κΈ° μœ„ν•΄ ν•„μš”μ‹œμ—λ§Œ λ¦¬μ†ŒμŠ€ 릴리즈λ₯Ό μˆ˜ν–‰ ν•©λ‹ˆλ‹€.

μ‹œμž‘ν•˜κΈ°

λ¨Όμ € λ‹€μš΄λ‘œλ“œ 및 μ„€μΉ˜ νŽ˜μ΄μ§€λ₯Ό λ°©λ¬Έν•΄μ„œ Glide μ•± 섀정에 λŒ€ν•΄ λ°°μš°μ‹œκΈ° λ°”λžλ‹ˆλ‹€. 그리고 μ‹œμž‘ν•˜κΈ° λ₯Ό μ‚΄νŽ΄λ³΄μ‹œλ©΄ κΈ°λ³Έ λ™μž‘μ— λŒ€ν•΄ λ°°μš°μ‹€ 수 μžˆμ„ 것 μž…λ‹ˆλ‹€. 더 λ§Žμ€ 도움말과 예λ₯Ό 보렀면 λ‚˜λ¨Έμ§€ λ¬Έμ„œ μ„Ήμ…˜μ„ 계속 μ§„ν–‰ν•˜κ±°λ‚˜ λ§Žμ€ μƒ˜ν”Œ 쀑 ν•˜λ‚˜λ₯Ό μ°Έμ‘°ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

μš”κ΅¬μ‚¬ν•­

Glide v4 λŠ” Ice Cream Sandwich (API level 14) μ΄μƒμ—μ„œ λ™μž‘ ν•©λ‹ˆλ‹€.