Android

[Android] ๋ณด์•ˆํ‚คํŒจ๋“œ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• - ๊ฐœ์ธ์ ์ธ ์ƒ๊ฐ์ž„

devSunny99 2022. 11. 23. 15:05

๐Ÿ“Œ๋ณด์•ˆํ‚คํŒจ๋“œ ๋ชฉ์ 

  • EditText์˜ String ๋ณด์•ˆ ์ทจ์•ฝ์  ๊ฐœ์„ 
  • ๋ณด์•ˆํ‚คํŒจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํŒจ์Šค์›Œ๋“œ์™€ ๊ฐ™์€ ์ค‘์š”์ •๋ณด๋ฅผ EditText์— ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋ณด์•ˆํ‚คํŒจ๋“œ๋ฅผ ํ†ตํ•˜์—ฌ ์ž…๋ ฅํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋…ธ์ถœ์„ ๋ง‰๊ณ ์ž ํ•œ๋‹ค.
  • ์ž๋ฐ”/์•ˆ๋“œ๋กœ์ด๋“œ String, EditText๊ด€๋ จ App๋ณด์•ˆ์ทจ์•ฝ์ ์€ ์•„๋ž˜๋งํฌ ์ฐธ๊ณ 
  • https://sunny-develop.tistory.com/19
 

[Android] String ๋ฉ”๋ชจ๋ฆฌ ๋…ธ์ถœ ๋ณด์•ˆ์ทจ์•ฝ์ -App๋ณด์•ˆ, ์ž๋ฐ” String์ทจ์•ฝ์ 

๐Ÿ“Œ๊ฐœ์š” ์€ํ–‰์•ฑ์„ ์‚ฌ์šฉํ•˜๋‹ค๋ณด๋ฉด ์›๋ž˜ ํฐ ์ž์ฒด์˜ ํ‚คํŒจ๋“œ๊ฐ€ ์•„๋‹Œ ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ณด์•ˆํ‚คํŒจ๋“œ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์™œ ๊ทธ๋ ‡๊ฒŒ ํ•ด์•ผ๋˜๋ƒ? ๋ฐ”๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ EditText์˜ ์ž๋ฐ” String ๋ฉ”๋ชจ๋ฆฌ

sunny-develop.tistory.com

 

๐Ÿ“Œ๋ฐฉ๋ฒ•

  • ์ผ๋ฐ˜์ ์œผ๋กœ Pin์ธ์ฆ์— ์‚ฌ์šฉ๋˜๋Š” 0~9๊นŒ์ง€์˜ ์ˆซ์ž ๋ณด์•ˆํ‚คํŒจํŠธ๋ฅผ ์šฐ์„  ๋งŒ๋“ค์–ด๋ณด์ž
  • ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๋งŒ๋“ค๋•Œ ์ฒ˜๋Ÿผ, ํ•œ๊ฐ€์ง€ ์ˆซ์ž๋งˆ๋‹ค ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌ์„ฑ
  • ๋งŒ์•ฝ 1 ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ ์‹œ, ๋‚ด๋ถ€ char[]์— 1์„ ๋„ฃ๋Š” ์‹์œผ๋กœ ํ•  ๊ฒƒ
  • ์ž…๋ ฅ๊ฐ’์€ ๋‚ด๋ถ€์—์„œ char[]๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์ž…๋ ฅ ๊ฐ’์€ โ—โ—โ—โ—โ— ์ด๋Ÿฐ์‹์œผ๋กœ ํ•  ๊ฒƒ
  • ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  char[]๋ฅผ Array.fill()์„ ํ†ตํ•˜์—ฌ 0x20์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚จ๋‹ค๋ฉด, ๋ฉ”๋ชจ๋ฆฌ์— ๋…ธ์ถœ๋˜๋Š” ๊ฐ’์€ EditText์— ์”Œ์—ฌ์กŒ๋˜ โ—โ—โ—โ—โ—์ผ ๊ฒƒ์ž„
  • ์‹ค์ œ๋กœ ํŒ๋งคํ•˜๋Š” ๊ธฐ์—…์˜ ์ œํ’ˆ๋“ค์€ ์‹ค์‹œ๊ฐ„ ์•”ํ˜ธํ™”๊นŒ์ง€ํ•ด์„œ ์„œ๋ฒ„๋ž‘ ์ฃผ๊ณ ๋ฐ›๊ณ  ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ ์žˆ์ง€๋งŒ..๊ทธ๋ƒฅ ๊ฐœ์ธ์ ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด๊ณ ์ž ํ•œ๋‹ค!
  • ์‹ค์ œ๋กœ ๋ฒ„ํŠผ ๋ช‡๊ฐœ ํด๋ฆญ ์‹œ char[]์— ๋„ฃ๊ณ , 0x20์ดˆ๊ธฐํ™” ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„์— ๋‚จ์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค!
  • ๊ฐœ์ธํ”„๋กœ์ ํŠธ๋กœ ๊ฐ„๋‹จํžˆ ํ•  ์˜ˆ์ •์œผ๋กœ, ๊ตฌํ˜„์ฝ”๋“œ๋Š” ์—†์ง€๋งŒ ์œ„ ๋ฐฉ๋ฒ•์œผ๋กœ๋„ ๋ฌด์Šจ ๋ง์ธ์ง€ ์•Œ๊ฒƒ์œผ๋กœ ํŒ๋‹จ๋œ๋‹ค!!

 

๐Ÿ“Œ๋ฉ”๋ชจ๋ฆฌ ๋คํ”„ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ณธ์ธ ์•ฑ์ด๋ผ๋ฉด ์•„์ฃผ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ™•์ธ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค Logcat์žˆ๋Š” ํƒญ์ชฝ์— Profiler ํƒญ์œผ๋กœ ๊ฐ„ ์ƒํƒœ๋กœ Run์„ ํ•˜๋ฉด ์•„๋ž˜์™€๊ฐ™์ด Session์ด ์ƒ๊ธด๋‹ค.

  • ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ’์ด ๋‚จ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์€ ๋ถ€๋ถ„๊นŒ์ง€ ์•ฑ ์‹œํ˜„์„ ํ•œ ํ›„, ์œ„ ์‚ฌ์ง„์—์„œ MEMORY๋ถ€๋ถ„์„ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋œฌ๋‹ค.
  • Capture heap dump ์„ ํƒ ํ›„ Record ํด๋ฆญ

  • ๊ทธ๋Ÿผ Heap Dump๊ฐ€ ์ƒ๊ธฐ๋Š”๋ฐ ์ปค์„œ๋ฅผ ๊ฐ–๋‹ค๋Œ€๋ฉด ์ €์žฅ๋ฒ„ํŠผ์ด ๋ณด์ด๋‹ˆ ๋‹ค์šด๋ฐ›๊ณ  ๋‹ค์šดํ•œ ๊ฒฝ๋กœ ๋“ค์–ด๊ฐ€์„œ ํ™•์ธํ•˜๋ฉด ๋œ๋‹ค!