<aside> ๐ก AsyncTask
</aside>
AsyncTask๋ ๋น๋๊ธฐ์ ์ผ๋ก ์คํ๋ ํ์๊ฐ ์๋ ์์ ์ ์ํด ์ฌ์ฉํ๋ ํด๋์ค์ด๋ค.
์ฅ์ ์ผ๋ก๋ ๋น๋๊ธฐ์ ์ฒ๋ฆฌ๋ฅผ ํ๊ธฐ ์ฝ๊ณ , ํธ๋ค๋ฌ๋ณด๋ค ์ฝ๋์ ์ผ๋ก ๊น๋ํ๋ค๋ ์ฅ์ ์ด ์๋ค.
๋จ์ ์ ์ฌ์ฌ์ฉ์ด ๋ถ๊ฐํ๊ณ , ์ข ๋ฃ๋ฅผ ํ์ง ์์ผ๋ฉด ์ข ๋ฃ๊ฐ ๋์ง ์๋๋ค๋ ๋จ์ ์ด ์๋ค.
๋ฉ๋ชจ๋ฆฌ๋์
-์กํฐ๋นํฐ ์ข ๋ฃ์์ ๊ณผ ์ด์ฑํฌ๊ฐ ๋๋๋ ์์ ์ด ๋ค๋ฅด๋ค. ์กํฐ๋นํฐ๊ฐ ์ข ๋ฃ๋ ๋ ์ด์ฑํฌ๊ฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒ ์๋๋ผ๋ฉด ์ผ์์ ์ธ ํ์์ด๋ฏ๋ก ํฐ ๋ฌธ์ ๋ ์๋. ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ ํ๋ฉด ํ์ ๋ฑ์ผ๋ก ์ธํด ๊ณ์ํด์ ์ด์ฑํฌ๊ฐ ์์ฌ์ ์คํํ๋ ๊ฒฝ์ฐ. ์ด ๊ฒฝ์ฐ๋ ํ๋ฉด์ด ํ์ ํ ๋ ์กํฐ๋นํฐ๋ ์ข ๋ฃ๋๊ณ ์๋ก ์์๋๋ค. ์๋ก ์์ฑ๋ ์กํฐ๋นํฐ๋ ๋ค๋ฅธ ์ธ์คํด์ค์ธ๋ฐ, ์ด์ฑํฌ๊ฐ ์์ง ์คํ ์ค์ธ ๊ฒฝ์ฐ์๋ ๊ธฐ์กด ์กํฐ๋นํฐ๋ ๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ฑฐ๊ฐ ๋์ง ์๋๋ค(oom ์์ธ ๊ฐ๋ฅ์ฑ)
์์ฐจ ์คํ์ผ๋ก ์ธํ ์๋์ ํ
ํ๋๊ทธ๋จผํธ์์ ์ด์ฑํฌ ์คํ๋ฌธ์
-ํ๋๊ทธ๋จผํธ์์ ์ด์ฑํฌ๋ฅผ ์คํํ๊ณ ๋ฐฑํค๋ก ์กํฐ๋นํฐ๋ฅผ ์ข ๋ฃํ๋ฉด ํ๋๊ทธ๋จผํธ๋ ์กํฐ๋นํฐ์ ๋ถ๋ฆฌ๋๋ฉด์ getContext, getActivity๊ฐ null์ ๋ฆฌํด. ๋ฐ๋ผ์ onPostExecte์์ ๋ํฌ์ธํธ ๋ฐ์
์์ธ์ฒ๋ฆฌ ๋ฉ์๋ ์์
-์ทจ์(cancel)๋ง ์๊ณ onError๊ฐ ์์
๋ณ๋ ฌ ์คํ ์ doinBackground ์คํ ์์๊ฐ ๋ณด์ฅ๋์ง ์์
-์๋๋ก์ด๋ ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๋ฉด์ ๊ธฐ๋ณธ ๋์์ด ๋ณ๋ ฌ ์คํ์์ ์์ฐจ ์คํ์ผ๋ก ๋ฐ๋
์ฐธ: NextStep