반응형 전체 글68 Android에서 현재 함수가 어떤 스레드에서 돌고 있는지 확인하는 방법 Android 앱 개발을 하다 보면 어지 간한 앱이라면 비동기 처리가 필수로 들어가게 됩니다. 이때 비동기 처리를 잘 알고 제대로 처리하지 않게 되면 벼레별 이슈를 다 맞이할 수 있습니다. 종종 특정 코드가 Main(UI) 스레드가 아닌 별도 백그라운드 스레드에서 돌길 원하는 경우가 있습니다. 그렇게 작성하고 돌려보니 실제로는 Main 스레드에서 도는 바람에 죽는 경우도 있고요. 이때 특정 함수, 코드가 어떤 스레드에서 도는지 확인하는 방법에 아주 간단한 방법이 있습니다. 바로 로그를 확인하는 것입니다. 2019-11-19 13:44:15.858 4032-4032/com.myapplication D/MainActivity: [My] startService 2019-11-19 13:44:15.864 403.. 2020. 11. 8. Android에서 Context는 대체 무엇인가? Context는 Android 앱 개발을 하다보면 최소 1번 이상 무조건 사용하게 되는 아마도 제일 빈번히 사용하는 객체 중 하나이지 않을까 싶습니다. 자주 사용하고, 어떤 상황에서 어떻게 사용하는지는 알지만, 누군가 Context가 뭔데?라고 물어보면 선뜻 대답해주기가 어려운… 뭔가 쉽고 간결하게 정의내리기 어려운 객체입니다. 마침 이런 고민은 저뿐만 아니라 다른 개발자들 역시 해왔던 고민이고, 그중 한 분이 잘 정리해놓은 글을 찾게 되었습니다. http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110085457720 무려 2010년도에 작성된 글인데요. 시간이 흘러서 지금도 이해가 딱 되는 글입니다. 본 포스팅은 위 글을 다시 제 개인 학습 목적으로 필요.. 2020. 11. 8. 프로세스와 스레드 CS를 전공하게 되면 보통 2-3학년 쯤 “운영체제” 혹은 “리눅스 커널” 관련한 과목을 이수하게 됩니다. 그때 프로세스와 스레드에 대한 개념을 배우게 되며, 저 역시 그런 과정을 거쳤습니다. 프로세스와 스레드는 면접에서 단골 질문으로 등장합니다. 하지만 막상 질문을 받으면 뭐라고 얘기할지 말이 잘 안 떨어지기도 하죠. 실무에서 멀티 스레드 프로그래밍을 작성하며 개발을 하고 있지만, 정작 위와 이를 설명해보라는 질문을 받으면 명쾌하게 답변이 잘 안나오더군요. 그래서 한 번 정리를 다시 할 필요가 있어 포스팅을 작성하게 되었습니다. 전공 수업때 공부했던 수준으로 디테일하게, 프로세스 시분할 방식까지 언급하지는 않습니다. 프로세스 개발자가 작성한 프로그램 코드가 운영 체제 위에서 실행될 때 이것을 하나의 프.. 2020. 11. 8. Android Runtime – 컴파일러 차이점 (JIT Vs. AOT) Android 롤리팝부터 Dalvik VM이 ART로 대체되었다. 가장 큰 주요 차이점은 컴파일러로 보인다. Dalvik VM: JIT (Just -in-Time) ART: AOT (Ahead-of-Time JIT (Just-in-Time) 바이트 코드를 실제 기계어로 컴파일하는 것을 실행 시점에 수행하게 된다. 따라서 실행 속도가 상대적으로 느리지만, 앱 설치 속도, 설치 용량 등이 AOT에 비해 빠르고 적게 차지한다. AOT (Ahead-of-Time) 이름에서 알 수 있듯이 미리 컴파일을 다 해놓는다. 따라서 실제 실행 시 별도 컴파일 과정이 없으므로 속도가 상대적으로 빠르다. 반면 미리 컴파일을 해놓기 때문에 설치 속도나 설치 용량이 좀더 큰편이다. 롤리팝부터 ART로 대체되긴 했지만, 누가부터 .. 2020. 11. 8. 이전 1 ··· 9 10 11 12 13 14 15 ··· 17 다음 반응형