Sitemap
OD

OD

Flutter developer

Member-only story

DevTool-Memory Debugging

5 min readMar 6, 2026

๐Ÿšš Flutter Memory Debugging Series

โ€œ์ด ๊ธ€์€ ๋ฉค๋ฒ„ ์ „์šฉ ์ฝ˜ํ…์ธ ์ด๋‚˜, [์—ฌ๊ธฐ]๋ฅผ ํด๋ฆญํ•˜์‹œ๋ฉด ์ „์ฒด ๋‚ด์šฉ์„ ๋ฐ”๋กœ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โ€

memory ๋ˆ„์ˆ˜๊ฐ€ ์™œ ๋ฐœ์ƒํ•˜๋Š”์ง€๋Š” ์ด์ „์— ์„ค๋ช…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” Memory Leak์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์œ ๋ น๊ฐ์ฒด๊ฐ€ ๋‚จ์•„์žˆ๋Š”์ง€ ๋ˆˆ์œผ๋กœ ํ™•์ธํ•ด๋ณด์ฃ . DevTool์˜ Memory View์˜ Heap Snapshot์„ ํ†ตํ•ด leak ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

๋ณดํ†ต ๋ฉ”๋ชจ๋ฆฌ๋‚˜ CPU ๊ฐ™์€ ์„ฑ๋Šฅ ๋ถ„์„์„ ํ•  ๋•Œ๋Š” Profile ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•˜์—ฌ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. Debug ๋ชจ๋“œ๋Š” ๋””๋ฒ„๊น…์„ ์œ„ํ•ด ์„ฑ๋Šฅ์„ ๋‚ฎ์ถฐ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ด๋ฏ€๋กœ ์ •๋ฐ€ํ•œ ์ธก์ •์—๋Š” ๋ถ€์ ์ ˆํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€ ๊ด€์ ์—์„œ, ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ๋‚˜ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ Profile ๋ชจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ๋ถ€์ ์ ˆํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ ํŠน์„ฑ์ƒ ์‹ค์ œ ๊ธฐ๊ธฐ๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ์„ ์ˆ˜๋ฐ–์— ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ธก์ •์ด ๋ชฉ์ ์ธ๋ฐ, ๋‚ฎ์€ ์„ฑ๋Šฅ์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋งž์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ •ํ™•ํ•œ ์„ฑ๋Šฅ ๋ถ„์„์„ ์›ํ•œ๋‹ค๋ฉด ๋ฐ˜๋“œ์‹œ ์‹ค์ œ ๊ธฐ๊ธฐ(Physical Device)๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ Profile ๋ชจ๋“œ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AndroidStudio์˜ main method์˜†์— ๋ณด๋ฉด run mode๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ์žˆ์–ด์š”. run mode๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Run Mode (โžค): Debug ๋นŒ๋“œ์ด์ง€๋งŒ, IDE์˜ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋ถ€์ฐฉ(Attach)๋˜์ง€ ์•Š์€ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • Debug Mode (๐Ÿชฒ): Debug ๋นŒ๋“œ์ด๋ฉฐ, IDE์˜ ๋””๋ฒ„๊ฑฐ๊ฐ€ ๋ถ€์ฐฉ๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
  • Profile Mode: AOT(Ahead-of-Time) ์ปดํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜๋Š” ํŠน์ˆ˜ ๋นŒ๋“œ๋กœ, ์ถ”์ (Tracing) ๊ธฐ๋Šฅ์ด ํฌํ•จ๋œ Release ๋นŒ๋“œ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.
Press enter or click to view image in full size

์ด๋ฒˆ ์‹ค์Šต์—์„œ ์šฐ๋ฆฌ๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š”๊ฒƒ์€ ์„ฑ๋Šฅ ๋ถ„์„๋ณด๋‹ค๋Š”, memory leakํ˜„์ƒ์˜ ๊ด€์ฐฐ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ Physical Device์—ฐ๊ฒฐ์—†์ดโ€ฆ

--

--