본문 바로가기
[android] Gradle Tutorial #1 [android] Gradle Tutorial #1 http://tools.android.com/tech-docs/new-build-system/user-guide Build System 의 목적 code 와 resource 의 reuse 를 쉽게 한다. app 의 여러 variant 에 따라 multi-apk 를 생성하거나, 약간 다른 기능을 하는 app 을 쉽게 생성해낸다. build process 를 쉽게 설정하고, 확장하고, 개인화 할 수 있다. IDE 와 잘 연동된다. 왜 Gradle 인가? plugin 을 통해 custom build logic 을 만들어 낼 수 있는 진보된 빌드 시스템 혹은 툴킷이다. Groovy 기반 DSL ( Domain Specific Language) 을 빌드 로직을 .. 2018. 10. 4.
Efficient Android Threading #9 서비스 Efficient Android Threading #9 서비스 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.11.1. 비동기 실행을 위해 서비스를 사용해야 하는 이유 -구성요소 생명주기와 스레드 생명주기의 분리호스팅 프로세스의 생명주기 서비스는 메모리 누수에 대한 위험과 너무 빨리 태스크가 종료될 위험을 모두 줄일 수 있다. 11.2. 지역, 원격, 전역 서비스 -전용 원격(다른 프로세스 사용) 서비스는 자신만의 UI 스레드를 가진다.따라서 서비스 UI 스레드는 클라이언트 구성요소의 UI 스레드의 실행을 지연하지 않는다.원격 서비스는 같은 힙 메모리 영역을 공유하지 않는다.따라서 클라이언트는 원격 메서드를 호출하는 데 바.. 2018. 3. 25.
Efficient Android Threading #3 프로세스 간 통신 Efficient Android Threading #3 프로세스 간 통신 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. 5.1. 안드로이드 RPC -안드로이드의 변형 리눅스 커널 안에서, 리눅스 IPC 기술은 프로세스 사이의 RPC 메커니즘을 수행하는 바인더 프레임워크로 대체되었다.이를 통해 클라이언트 프로세스는 마치 로컬에서 메서드를 실행하듯 서버 프로세스의 원격 메서드를 호출할 수 있다. -RPC 메서드 호출 자체는 단순하지만, RPC 매커니즘의 하부는 다음과 같은 단계로 구성된다. 1. 메서드 데이터 분해(마샬링, marshalling)2. 원격 프로세스로 마샬링된 정보를 전송3. 원격 프로세스에 정보를 재구성(언마.. 2018. 3. 19.
Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 Efficient Android Threading #1 자바의 멀티스레딩,안드로이드 스레드 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용. -동시 실행 설계 자원의 생성과 해체의 빈도를 감소시키기 위해 항상 새로운 스레드를 만드는 것보다 재사용을 권장한다. 필요 이상으로 스레드를 사용하지 않는다. 사용하는 스레드가 많을수록 더 많은 메모리와 프로세서 시간이 소비된다. -App 관점에서 스레드는 UI, 바인더, 백그라운드 thread 로 3가지 유형이 있다. -바인더 스레드는 IPC 에 사용된다.각 프로세스는 Thread pool 을 유지한다.Thread pool 은 종료되거나 재생성되지 않지만, 프로세스 안에서 다른 스레드.. 2018. 3. 17.
[android] Binder Tokens 에 대해 이해해보자. [android] Binder Tokens 에 대해 이해해보자. Binder Tokens -Binder object 는 system 에서 하나의 Unique ID ( 32-bit )를 갖는다.Binder 가 system 안에서 Unique ID 를 갖는것은 security 문제를 해결하는 데 도움이 된다. - Binder 가 쓰이는 가장 대표적인 예는 Service의 aidl 연결이나 WakeLock 등이 있겠다. Window Tokens -WIndow Token 은 Window manager 가 사용하는 특별한 token 이다. 각 window 를 구별하는 데 사용된다. - WindowToken 은 다른 허가되지 않은 앱이 다른 app 위에 무언가를 그리는 것을 불허한다. Window 를 새로 add .. 2016. 5. 26.
반응형