안드로이드 비동기 프로그래밍

1

이 책은 안드로이드에서 제공하는 기본적인 비동기 기법을 설명하고 있다. 얇은 책이라 구매하고 등한시 하고 있다고 AsyncTask 때문에 급해서 책을 뒤적여보다가 다 읽게 되었다.

안드로이드 비동기 기법에 관한 내용은 잘 정리한 책이기 때문에 저처럼 안드로이드 비동기 기법에 대한 이해도가 부족한 저같은 쪼랩에게 적극 추천한다.


달빅은 JVM의 효율성을 개선하기 위해 최선을 다하고 있으며, 단순화하기 위한 다양한 최적화, 해석 속도 향상, 실행 중인 프로그램의 메모리 사용량 축소를 포함한다. 두 JVM 아키텍처 간의 가장 근본적인 차이라면, JVM은 스택 기반 머신인 반면에 DVM은 레지스터 기반 머신 이라는 점을 꼽을 수 있다.

[…] COW라고 하는 기술을 사용해 메모리를 부모와 공유하는 새로운 자식 프로세스를 생성한다. 이 기술은 환상적인 몇 가지 장점을 가지는데 다음과 같다. *) 첫째, 가상 머신과 코어 라이브러리를 미리 메모리에 적재한다. 가상 머신을 초기화하기 위해 데이터의 중요한 덩어리를 읽지 않아도 되며 극적으로 구동 과부하를 줄여준다. *) 둘째, 코어 라이브러리를 공용 구조체가 존재하는 메모리를 자이고트 및 모든 다른 애플리케이션과 함께 공유한다. 사용자가 여러 앱을 실행할 때 많은 메모리를 아끼는 결과를 낳는다.

[…] 독립적인 코드 경로를 동시 실행하는 것은 동시성으로 알려져 있다.

[…] 정확성 문제에 대한 흔한 해결책은 여러 스레드가 특정 자원에 동시 접근하는 것을 막는 상호 배제다. 보통 스레드가 공유 데이터를 읽거나 갱신하기 전에 배제 락을 반드시 획득함으로써 완수할 수 있다.

[…] AsyncTask의 각 인스턴스는 한 번만 사용하는 객체다. AsyncTask를 일단 시작했다면, 취소하거나 처음 시작한 후 완료하기를 기다리더라도 결코 재식할 수 없다.

Written on June 27, 2017