-
Notifications
You must be signed in to change notification settings - Fork 0
๐ ๊ฐ๋ฐ ์ผ์ง
- ์บก์ณํ ์ด๋ฏธ์ง๋ฅผ ํธ์ง ํ๋ฉด์ผ๋ก Bitmap์ ๋๊ธฐ๊ธฐ์๋ ํ์ผ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํผ. => ์บ์ฑ์ ํตํด์ Uri๋ฅผ ๋ฐ์์ ์ฌ์ฉ
- ์ฌ์ง์ ์ ๋ก๋ํ๊ณ ๋ค์ด๋ก๋ํ ๋ ์๊ฐ์ ๋จ์ถํ๊ธฐ ์ํด์ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ผ ํ์๊ฐ ์์
- ์ด๋ฏธ์ง๋ฅผ ๋ก๋ํ ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ค์ฌ์ ์ฑ๋ฅ ํฅ์ ๋ฐ ๋ถํ์ํ ๋ง์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์์ ์ ์์ ์ ์ผ๋ก ์๋ํ๊ฒ ํ๊ธฐ ์ํจ.
- ์๋ฒ์ ์ ๋ก๋ ํ ๋ฐ์์จ URL ์ฌ์ฉ => ํธ์ง ํ๋ฉด์ผ๋ก ์ด๋ฏธ์ง๋ฅผ ๋ณด๋ด๋ ๋ชฉ์ ์ด๋ฏ๋ก ์ธ๋ฐ์์ด ๋ง์ ์๊ฐ์ด ์๋ชจ๋จ.
- ๋ฉ๋ชจ๋ฆฌ ์บ์ฑ => LRU Cache๋ฅผ ์ฌ์ฉํ๋๋ฐ ์ฐ๋ฆฌ๋ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฃจ๋ฏ๋ก OutOfMemory๊ฐ ๋ฐ์ํ ์ฐ๋ ค๊ฐ ์์.
- filesDir => ์ฅ๊ธฐ ์ ์ฅ์ ์ฉ์ดํ๋ฐ, ์ฐ๋ฆฌ๋ ์งง์ ์๊ฐ ์ ์ฅํ๊ณ ์ญ์ ํ๋ฏ๋ก ๋ถํฉํ์ง ์์.
cacheDir์ ์ฌ์ฉํ์ฌ ๋จ๊ธฐ์ ์ผ๋ก ์ ์ฅํ ์ ์๊ณ , ์ ์ฅํ๊ณ ๊ฐ์ ธ์ค๋ ์๋๊ฐ ๋น ๋ฆ. ์ ์ฅ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๋ ์๋์ผ๋ก ์ญ์ ๋๋ฏ๋ก ์ ์ฅ ์ฉ๋์ ๋ฌธ์ ๋ ํด๊ฒฐ ๊ฐ๋ฅํจ.
์์ถ์ ๋ง์ด ํ๋ฉด? => ํ์ผ์ ํฌ๊ธฐ๊ฐ ์์. ์ด๋ฏธ์ง ์ ์ก/๋ก๋ ์๋๊ฐ ๋นจ๋ผ์ง. ์ด๋ฏธ์ง ํ์ง์ด ๋ฎ์์ง. ์์ถ์ ์๊ฒ ํ๋ฉด? => ํ์ผ์ ํฌ๊ธฐ๊ฐ ํผ. ์ด๋ฏธ์ง ์ ์ก/๋ก๋ ์๋๊ฐ ๋๋ ค์ง. ์ด๋ฏธ์ง ํ์ง์ด ๋์์ง.
์ฐ๋ฆฌ์ ์ฑ์ ๊ณ ํด์๋์ ์ฌ์ง์ ๋ณด์ฌ์ค์ผ ํ๋ฏ๋ก ๊ฐ๋ฅํ ์์ถ์ ์ ๊ฒ ํ๋ ๊ฒ์ด ์ข๋ค.
Bitmap.compress
๋ก quality๋ฅผ 10 ~ 100๊น์ง ํ
์คํธ
10 => ํ์ฐํ๊ฒ ํ์ง์ด ์์ข์.
50 => ํ์ง์ด ๋์ ๋ณด์ผ ์ ๋๋ก ์์ข์.
60 ~ 70 => ์ด์ง ๋ฟ์๊ฒ ๋ณด์ผ ์ ๋.
80 ~ 100 => ์๋ณธ๊ณผ ๊ฑฐ์ ์ฐจ์ด๊ฐ ์กด์ฌํ์ง ์์.
๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ณธ๊ณผ ๊ฑฐ์ ์ฐจ์ด๊ฐ ๋์ง ์์ง๋ง ํ์ผ์ ํฌ๊ธฐ๋ฅผ ๊ฐ๋ฅํ ์ค์ผ ์ ์๋ 80%
๋ก ์ค์ .
- JPEG (Joint Photograph Expert Group) => ์์ค ์์ถ ๋ฐฉ์. ์ฝ๊ฐ์ ์์ค์ ๊ณ ๋ คํ๋ ์๋๊ฐ ๊ฐ์ฅ ๋น ๋ฆ. ํฌ๋ช ๋ ์ง์ X
- PNG (Portable Network Group) => ๋ฌด์์ค ์์ถ ๋ฐฉ์. ๊ณ ํด์๋์ ์ฌ์ง์ ์ง์. ํฌ๋ช ๋ ์ง์ O
- WebP (Web Picture) => ๋ฌด์์ค, ์์ค ์์ถ ๋ชจ๋ ์ง์. JPEG ๋๋น 34% ํฌ๊ธฐ๋ฅผ ์ค์ธ ์ํ์์ ๋๋ฑํ ์ด๋ฏธ์ง ํ๋ฆฌํฐ๋ฅผ ๋ณด์ฅ
WebP๊ฐ ํ์คํ ํ์ผ ํฌ๊ธฐ๊ฐ ์์ง๋ง ์์ถ ์๋๊ฐ JPEG ๋๋น ๋ง์ ์๊ฐ์ด ๊ฑธ๋ ธ๋ค.(3์ด) WebP๋ VP8 ๋น๋์ค ์์ถ ๊ธฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ์์ถ ์๊ณ ๋ฆฌ์ฆ์ด ๊ตฌ์ฑ๋์ด ์์ด์ ๋ ๋ง์ ๊ณ์ฐ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ๋ชจ๋ ์๊ฐ์ด ์ฌ์ฉ์ ๊ฒฝํ์ฑ
์ ์ฐ๊ด์ด ๋๋ฏ๋ก ํ์ผ์ ํฌ๊ธฐ, ์์ถ ์๋๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ์ฌ Jpeg
๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค.
- ๋ฆฌ์ฌ์ด์ง์ ํตํด์ ํ์ผ์ ํด์๋์ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๋ฉด์, ์ ์กํ ๋ฐ์ดํฐ ์์ด ์ค์ด์ ์ ๋ก๋, ๋ค์ด๋ก๋ ์๋๊ฐ ๋นจ๋ผ์ง.
- ํ์ผ ํฌ๊ธฐ๊ฐ ์ค์ด์ ์๋ฒ ๋น์ฉ์ด ๊ฐ์ํจ.
460 ~ 1440๊น์ง ํด์๋ ํ ์คํธ๋ฅผ ์งํ. 460 => ๋์ ๋๋ ํ์ง ์ ํ ๋ฐ์ 720 => ํ์ง ์ ํ๊ฐ ๋ณด์ด์ง ์์ 1080 ~ 1440 => ์ด๋ฏธ์ง์ ๊น์ด๊ฐ์ด ๊น์ด์ง.
๊ฒฐ๊ณผ์ ์ผ๋ก ํด์๋๋ฅผ 720p
๋ก ๋ฆฌ์ฌ์ด์งํ์ฌ ์ ์ ํ ํด์๋์ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ฒ์ผ๋ก ๊ฒฐ์ .
Copyright 2024. Team Kolown All Rights Reserved.
- โ [๊ธฐ์ ๊ฒฐ์ ] Camera
- โ [๊ธฐ์ ๊ฒฐ์ ] Image Load
- โ [๊ธฐ์ ๊ฒฐ์ ] UI Toolkit - Copmpose
- โ [๊ธฐ์ ๊ฒฐ์ ] ๋ฐ์ดํฐ ๋ณ UID ์์ฑ
- โ [๊ธฐ์ ๊ฒฐ์ ] Debounce & Paging ์ฌ์ฉํด์ ๊ฒ์ ๊ตฌํ
- โ [๊ธฐ์ ๊ฒฐ์ ] Google Login
- โ [๊ธฐ์ ๊ฒฐ์ ] ์ค์ผ๋ ํค UI
- โ [๊ธฐ์ ๋ถ์] DI
- โ [๊ธฐ์ ๋ถ์] Image Compress
- โ [๊ธฐ์ ๋ถ์] ์ด๋ฏธ์ง ๋ฆฌ์ฌ์ด์ง
- โ [๊ธฐ์ ๋ถ์] CameraX API
- โ [๊ธฐ์ ๋ถ์] Firebase & ๋๋ค ๋ก๋ฉ
- โ [๊ธฐ์ ๋ถ์] ViewModel ๊ณต์
- โ [๊ธฐ์ ๋ถ์] Firestore ์ฟผ๋ฆฌ ์ ๋ต
- โ [๊ธฐ์ ๊ฒํ ] Paging3
- โ [๊ธฐ์ ๊ฒํ ] Coil์ ๋์คํฌ ์บ์ฑ
- โ [๊ธฐ์ ๊ฒํ ] Data Structure
- โ [๊ธฐ์ ๊ฒํ ] ExoPlayer ์ฌ์ฉ์ฌ๋ถ
- โ [ํธ๋ฌ๋ธ ์ํ ] Chip with TextField(Custom with IntrinsicSize)
- โ [ํธ๋ฌ๋ธ ์ํ ] WindowInset
- โ [ํธ๋ฌ๋ธ ์ํ ] UI ์ค์๊ฐ ๋ฐ์
- โ [ํธ๋ฌ๋ธ ์ํ ] IME Padding
- โ [ํธ๋ฌ๋ธ ์ํ ] PagingSource reset
- โ [ํธ๋ฌ๋ธ ์ํ ] SharedFlow - SnackBar
- โ [ํธ๋ฌ๋ธ ์ํ ] Camera์ Lifecycle ๋๊ธฐํ