본문 바로가기
[Effective Unit Testing] Chap8. 제 2의 JVM 언어를 활용한 테스트 작성 [Effective Unit Testing] Chap8. 제 2의 JVM 언어를 활용한 테스트 작성 8.1. JVM 언어 혼용의 조건 - 제 2의 JVM 언어의 역사는 파이썬 언어의 JVM 버전인 자이썬(Jython)으로부터 시작되었다. 자이썬은 사용자를 충분히 확보하지 못하여 결국 2005년에 실질적인 개발이 중단되었지만, 또 다른 JVM 언어들이 등장하는 계기가 되어주었다. - 2001년에는 자바판 루비인 JRuby, 2003년에는 Groovy 가 발표되었다. 2003년은 Scalar 가 나온 해이기도 하다. 2007년 Lisp 를 변형하여 만든 Closure 역시 강력한 JVM 언어이다. 8.1.1. 일반적인 이점 - JVM non-java 언어의 장점은.. 자질구레한 문법이 적어 핵심 로직이 잘 .. 2019. 3. 18.
Efficient Android Threading #10 인텐트 서비스 Efficient Android Threading #10 인텐트 서비스 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.12.1. 기본 사항 -IntentService 는 싱글 백그라운드 스레드에서 태스크를 실행한다.서비스가 실행 중인 경우, 인텐트는 백그라운드 스레드가 처리를 위해 준비될 때까지 큐에서 대기한다.실행 중이 아닌 경우 새로운 구성요소 생명주기가 시작되고, 더 이상 처리할 인텐트가 없을 때 구성요소의 생명주기가 끝난다. ( stopSelf 로 중지시킬 필요가 없다. 내부적으로 수행된다. )즉 실행할 태스크가 있는 동안에만 인텐트 서비스가 실행된다. -IntentSevice 에서 백그라운드 태스크 실행자는 핸들러.. 2018. 3. 26.
Efficient Android Threading #4 메모리 관리 Efficient Android Threading #4 메모리 관리 이 글은 Efficient Android Threading 의 일부 내용만 발췌한 내용입니다.자세한 내용은 책을 구입해서 보세용.6.1. 가비지 컬렉션 -각 프로세스(결과적으로 각 앱)는 자신만의 VM 과 가비지 컬렉터를 가진다. -진저브레드까지 안드로이드의 가비지 컬렉션은 메모리가 회수되는 동안 앱 실행이 중지되는 순차적 실행이었다.이는 UI rendering 의 일시적 멈춤으로 이어질 수 있었다.허니컴부터 GC 는 앱 스레드를 중지하지 않고 자체 스레드에서 동시적으로 실행된다. -달빅 GC 는 mark & swap 이라는 일반적인 두 단계 메커니즘을 사용한다.마크 단계는 객체 트리를 탐색하고 다른 객체에 의해 참조되지 않는 모든 미사.. 2018. 3. 20.
[android] onSaveInstanceState 는 언제 불리는 걸까? android, onSaveInstanceState 는 언제 불리는 걸까? 안드로이드 개발자 리퍼런스 사이트 onSaveInstanceState는 activity 가 죽기전에 불려서 상태를 저장하고, onCreate 나 onRestoreInstanceState 를 통해 해당 상태를 복구하는 데 사용된다. 이 함수는 다음과 같은 경우에 불린다.예를 들어 Activity A 위에 Activity B 가 실행중에 있는데리소스 재활용의 문제로 Activity A 가 죽어야 하는 상황이 발생했다.이 경우에 onSaveInstanceState 가 불려서 A 의 상태를 저장하게 된다. 착각하지 말아야 할 것이 onPause 와 같이 onSaveInstanceState 가 activity life cycle 의 일부라.. 2014. 2. 16.
[android] activity flag 이야기 안드로이드, activity flag 이야기 참조 : http://developer.android.com/reference/android/content/Intent.html FLAG_ACTIVITY_SINGLE_TOP B 에 해당 flag 를 걸어 두었다면.. A->B->B 를 호출한 경우, 최종 stack 은BA 이 때 B의 생명주기는 onPause() -> onNewIntent() -> onResume() 을 탄다. FLAG_ACTIVITY_NO_HISTORY 마찬가지로 B 에 flag 를 걸어 두어두고 A->B->A 를 호출한 경우, 최종 stack 은A A 이 flag 는 다른 앱으로 전환되는 경우에도 destory 된다. 즉 A->B 상태에서 Home 키로 나가면 B 는 이미 destory 된 .. 2013. 8. 16.
반응형