Unity ANR
๐ซ ๋จธ๋ฆฌ๋ง
๐ซ ANR
Mobile Native Debugging & ANR
ANR ์ ์
Applicaftion Not Responding
int Android
App freezing
IOS
Unity Main Thread != Android Main Thread
์ฐ๋์ด ์๋๋ฉด์ ๋ฐ์
ํฌ๊ฒ 5๊ฐ์ง
5์ด๋ ์ค์ ๊ฐ๋ฅ (์ ๋์ ์์น X)
์ ๋ ฅ ์ ๋ฌ ํ์์์
- ์ ๋ ฅ ์ 5์ด ์ด๋ด ์๋ตํ์ง ์์ ์๋น์ค ์คํ
- ์๋น์ค ์ ์ด๋ด ์คํ์ ใ ก์๋ฃํ์ง ์์ StartForeground() tjqltmrk โ๋ฅผ ํธ์ถํ์ง ์์ ๋ธ๋ก๋์บ์คํธ JobScheduler
์ ๋ ฅ ์ ๋ฌ์ ์ง์ค ์ค๋ช
ANR Thread ๋์
- Dump ์์ฑ
์ด๋ถ๋ถ์ ๋ฌธ์
AND ๊ฐ์ง ์์ stack trace๊ฐ ์ ํํ ์์ ์๊ธฐ ์ด๋ ค์
MAinThread BLco kStarted
UserInputEvetn
5์ด timeout
OS Triggers the ANR
์์ดํ์ ANR Dlialog Shwon
์ฒ์ ์์ํ์๋์ StrackTrace๊ฐ ์๋๋ผ
์์ด ์ง๋์ ์บ์นํ ๋์ StackTarce๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ (์ ํํ์ง ์์)
๋ค์ํ ๋ ๋ฒจ์์ ์จ๊ฒจ์ ธ ์์ ์ ์์
์ด๊ฒ์ ์ ๋ํฐ์์ Crash ๋ฑ์ผ๋ก ์ทจ๊ธ๋จ
Debugging ๋ฐฉ๋ฒ
Natice Device์ ๋ก๊ทธ ์์ง -> Android Logcar Pakcage
Wifi๋ ํ์ด๋ง๋ ๊ฐ๋ฅ??
Package, Input๋ ๊ฐ๋ฅํ๋ค?
ADB dumpsys?
adb bugreprot
- Tip
- ๊ฐ์ฅ ๋น๋ฒํ Andoid Version ์ฒดํฌ
- โ Device ์ฒดํฌ
- ๋ฐ์ ์ฒ๊ฐ APP Version ์ฒดํฌ
- ๊ฐ๋ฐ์ ๋ชจ๋ + Perfetto
- MainThread ์ฒดํฌ
- Third-party package ์ ๊ฑฐ ํ ์คํธ
- Android Studio Simulator ์ฌ์ฉ??
Methodology
- ๋ณด๊ณ ์๋น์ค ํตํฉ
- ๋ฆฌํฌํธ๋ฅผ ๋ถ์, ์คํ ํธ๋ ์ด์ค๊ฐ ์๋ฏธ์๋์ง ํ์ธ
- ๊ฒ์ ๊ด๋ จ ๋ฌธ์ != ์๋๋ก์ด๋ ๋ฐํ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ or ์ ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ๋น๋ ID ghkrdls
- ใ ฃใ ใ ใ ใ ฃ2์ฒดใ ..๋ด vkdlfdl dnlcl
- ใฑใทใ ใ ๋ -ใ ใ ฃใ ใ ใ ใ ฃ2์ฒดใ .๋ด ~~~~
๋ฐ์ ์์น๋ณ ANR
- ๊ฒ์ ์ฝ๋
- cpp๋ก ๋ณํ๋ C#
- ์คํ ํธ๋ ์ด์ค libil2cpp.so
- C# ์ฝ๋์์ ์ค๋ฅ ๋ฐ์
- ์คํฌ๋ฆฐ Game.cpp์์ ์ฌ ๋ฐ์
- Logger๋ C#์คํฌ๋ฆฝํธ์ ํด๋์ค ์ด๋ฆ
- Log๋ ํจ์ ์ด๋ฆ
- C# ํ๋ก์ ~~
- ์ฌ์ง ์ฐธ๊ณ
- ์์ง์ฝ๋
- ์ฌ์ง ์ฐธ๊ณ
- ํ์ฌ SDK ํ๋ฌ๊ทธ์ธ
- ์ฌ์ง ์ฐธ๊ณ
- ์์คํ
๋ผ์ด๋ธ๋ฌ๋ฆฌ
- ์ผ๋ฐ์ ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ์ ์ดํ ์ ์์
- Google ๋ฌธ์, ๋ก๊ทธ๋ฅผ ์ถ๊ฐํ์ฌ ๋ฌธ์ ๋ฒ์ ์ขํ๊ธฐ, ANR ๊ฐ๋ฅ์ฑ ์ ์์
- ๋ฉ๋ชจ๋ฆฌ์ ANR ๊ด๋ จ์ฑ
- ์ข ์ข ๋ณด๊ณ ๋๋ ์ฌ๋ก ์ค LowMemory ์ฝ๋ฐฑ ํธ์ถ ํ์ธ
- Activity๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋๋๋ก ์ ํ๋๊ณ AOS์์ ๋ฉ๋ชจ๋ฆด ๊ฒฝ๊ณ ๋ฅผ ์์ ํ ๋ ๋ฐ์ ์ถ์
- ์ ํด๋ฉ๋ชจ๋ฆฌ์ ANR ๋ฐ์ ํ ๊ด๊ณ ํ์ธ
์ฌ๋ก
์ ๋ํฐ ์ต๋ ์ ์ง๋ 4์ด?
@๋น๋๊ธฐ ์์ ์๊ฐ ์ด๋ป๊ฒ ํ์ง?
Surface Desrotyed
์ฌํ ์ด๋ณ๊ณ APp & ๊ทธ๋ํฝ ์ฅ์น ๊ฐ์ ์๋ชปใ
๋ ์ํ์ ๊ด๋ จ์ด ์์ ๊ฐ๋ฅ์ฑ
๐ซ ๋ฉ๋ชจ
๐ซง ์ฐธ๊ณ
- UNTIE SEOUL 2025
- โ์ดํฌ์โ: โMobile Native Debugging & ANRโ