header-img
Info :
CS/Android, Kotlin 10
list_img
[Android] MVVM
2023.04.13
๋ฉด์ ‘์ค€๋น„์šฉ MVVM - Android ์ •๋ฆฌ (๋งจ ์•„๋ž˜์˜ ๋ ˆํผ๋Ÿฐ์Šค๋“ค์„ ๊ผญ ํ™•์ธํ•ด์ฃผ์„ธ์š”.) MVC ๊ตฌ์„ฑ : Model, View(์œ ์ €๊ฐ€ ๋ณด๊ณ ์žˆ๋Š” ํ™”๋ฉด), Controller ํ๋ฆ„ : Controller์—์„œ ์ด๋ฒคํŠธ ๋ฐœ์ƒ → ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ Model ์—…๋ฐ์ดํŠธ๋ฅผ ์š”์ฒญ → View์— ์ „๋‹ฌ → View๋Š” Model์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„์„œ ๊ฐฑ์‹  View, Controller์— ๋กœ์ง์ด ์ดํ•ฉ๋˜์–ด ์žˆ์–ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์‰ฝ์ง€ ์•Š์Œ. ๋˜ํ•œ ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ์— ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ ค๊ณ  ํ•ด๋„ ์–ด๋ ค์›€์ด ์žˆ์Œ. MVP ๊ตฌ์„ฑ : Model, View, Presenter(View์—์„œ ์š”์ฒญํ•œ ์ •๋ณด๋ฅผ Model๋กœ๋ถ€ํ„ฐ ๊ฐ€๊ณตํ•˜์—ฌ ๋ทฐ๋กœ ์ „๋‹ฌ) ํ๋ฆ„ : ์‚ฌ์šฉ์ž์˜ ์•ก์…˜์„ View๋กœ๋ถ€ํ„ฐ ๋ฐ›์Œ → View๋Š” ๋ฐ›์€ ์ด๋ฒคํŠธ๋ฅผ Presenter๋กœ ๋„˜๊น€ → P..
list_img
[Android] ์•ˆ๋“œ๋กœ์ด๋“œ ๋ฆฌ์†Œ์Šค
2023.04.07
bitmap ๋ฐฉ์‹ ์ข…๋ฅ˜ mdpi : ์ดˆ์ฐฝ๊ธฐ๋กœ 1px = 1dp์ž„ hdpi : 1.5px = 1dp xhdpi : 2px = 1dp xxhdpi : 3px = 1dp xxxhdpi : 4px = 1dp ํ•ด์ƒ๋„์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ cpu์˜ ๋…ธ๋™ ๊ฐ•๋„๊ฐ€ ๋‹ฌ๋ผ์ง ๋งŒ์•ฝ xxxhdpi์˜ ํ•ด์ƒ๋„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ xxxhdpi์˜ ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†์œผ๋ฉด xxhdpi, xhdpi, hdpi, mdpi ์ˆœ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์•„๊ฐ€๋ฉด์„œ ์‚ฌ์šฉํ•˜๊ฒŒ ๋จ ๋น„ํŠธ๋งต์€ ์šฉ๋Ÿ‰์ด ํฐ ๋Œ€์‹  ํ’ˆ์งˆ์ด ์ข‹์Œ, ๊ทธ๋Ÿฌ๋‚˜ xxxhdpi์˜ ํ•ด์ƒ๋„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ๋˜๋Š”๋ฐ ์—†์–ด์„œ mdpi๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ pixel์ด ์ฐŒ๊ทธ๋Ÿฌ๋“œ๋Š” ๋‹จ์ ์ด ์กด์žฌ vector svg ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ํŒŒ์ผ๋กœ xml code๋กœ ์ด๋ฃจ์–ด์ง ๋Œ€์ฒด๋กœ ์šฉ๋Ÿ‰์ด ์ž‘์Œ ์–ด๋–ค ํฌ๊ธฐ์—๋„ ์ƒ๊ด€ ์—†์Œ (ํฌ๊ธฐ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š์Œ) →..
list_img
[Android] AOS ART, Garbage Collector ๋ฐฉ์‹
2023.04.07
Android Linux ๊ธฐ๋ฐ˜ ART(Android Runtime)์ด java๋กœ ๋Œ์•„๊ฐ€๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ๋…๋„ Java ๋ฐฉ์‹์„ ์‚ฌ์šฉ ART? ART๋Š” Android 5.0 (API ๋ ˆ๋ฒจ 21) ์ด์ƒ์ด ์‹คํ–‰๋˜๋Š” ๊ธฐ๊ธฐ์˜ ๊ธฐ๋ณธ ๋Ÿฐํƒ€์ž„. ์ด ๋Ÿฐํƒ€์ž„์€ Android ํ”Œ๋žซํผ๊ณผ ์•ฑ์˜ ์„ฑ๋Šฅ, ์œ ์—ฐ์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณต. ์•ˆ๋“œ๋กœ์ด๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋˜ Dalvik VM์˜ ํ•œ๊ณ„์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ ๊ฐœ๋ฐœ๋œ ๋Ÿฐํƒ€์ž„ ART์˜ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ธ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜(GC) ๊ฐœ์„  GC๋Š” ๋ฆฌ์†Œ์Šค ์ง‘์•ฝ์ ์ด๋ฏ€๋กœ ์•ฑ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œ์ผœ ํ™”๋ฉด ๋Š๊น€, UI ์‘๋‹ต์„ฑ ๋ถ€์กฑ ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์ผ์–ด๋‚จ. ART์—์„œ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๋ฐ ์กฐ๊ฐํ™”๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋™์‹œ ๋ณต์‚ฌ, ๋‹จ์ผ GC ์ผ์‹œ์ค‘์ง€๊ฐ€ ์žˆ๋Š” ๋™์‹œ ์‹คํ–‰ ์„ค๊ณ„… ๋“ฑ์˜ ๋ฐฉ๋ฒ•์œผ๋กœ GC๋ฅผ ๊ฐœ์„  ART ๋ฐฉ์‹? m..
list_img
๋ฒ”์œ„ ์ง€์ • ํ•จ์ˆ˜
2022.12.01
1. ๋ฒ”์œ„ ์ง€์ • ํ•จ์ˆ˜ ํŠน์ • ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ž‘์—…์„ ๋ธ”๋ก ์•ˆ์— ๋„ฃ์–ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•จ์ˆ˜.๋ธ”๋ก์€ ํŠน์ • ๊ฐ์ฒด์— ๋Œ€ํ•ด ํ•  ์ž‘์—…์˜ ๋ฒ”์œ„๊ฐ€ ๋จ. let, run, apply, also, with ๋“ฑ 5๊ฐ€์ง€ ๊ธฐ๋ณธ์ ์ธ ๋ฒ”์œ„ ์ง€์ • ํ•จ์ˆ˜๋ฅผ ์ง€์›ํ•จ. ๋ฒ”์œ„ ์ง€์ • ํ•จ์ˆ˜๋Š” ์ˆ˜์‹  ๊ฐ์ฒด ์ง€์ • ๋žŒ๋‹ค ํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฆ„ 2. apply ์ˆ˜์‹  ๊ฐ์ฒด ๋‚ด๋ถ€ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋ณ€๊ฒฝํ•œ ๋‹ค์Œ ์ˆ˜์‹  ๊ฐ์ฒด ์ž์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜. ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ์— ๋‹ค์–‘ํ•œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ๋จ. apply์˜ block์€ ๋žŒ๋‹ค์‹์˜ ์ˆ˜์‹  ๊ฐ์ฒด๋กœ apply์˜ ์ˆ˜์‹  ๊ฐ์ฒด๋ฅผ ์ง€์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋žŒ๋‹ค์‹ ๋‚ด๋ถ€์—์„œ ์ˆ˜์‹  ๊ฐ์ฒด์— ๋Œ€ํ•œ ๋ช…์‹œ๋ฅผ ๊ตณ์ด~ ํ•˜์ง€ ์•Š๊ณ  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ. ์ฝ”๋“œ ์•ˆ์— ๋ณด๋ฉด … ์ด๊ฒŒ ๋งž๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ T.apply ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ ๋‚ด๋ถ€..