본문 바로가기
[android] thread 들의 정체에 대해 알아보자. 안드로이드, thread 들의 정체에 대해 알아보자. 출처 : 휴휴님 블로그. MainHeapWorkerSignal CatcherJDWPBinder Thread # HeapWorker 는 Dalvik 상에서 GC 를 수행하는 스레드. GC가 HeapWorker 를 깨워서 자바 Object 의 finalizeAPI 를 호출해준다고 한다. HeapWorker 가 작업수행하는데 너무 오랜 시간이 걸리면 앱을 종료시키기도 한다고 한다. 그래서 finalize 를 피하는 게 좋다. ( finalize 는 왠만하면 쓰지 말라고 권고된다 ) Singal Catcher 는 시그널이 발생했을 때 무슨 일을 하는 녀석. 예를 들어 Dump 파일 생성, GC 수행 등의 작업을 수행하는 것으로 알려져 있다. JDWP 는 디버.. 2013. 12. 6.
[android] 안드로이드 개발 10계명 안드로이드 개발 10계명 ( 명심해야 할 10가지 ) 1. 앱 구성요소간 데이터를 주고받을 경우, Extra 로 여러값을 따로따로 전달하기보다는 Parcelable 을 사용하는 것이 유지보수에도 쉽고 성능이슈도 있다. Serialization 도 방법이긴 하지만 안드로이드에서는 Parcelable 이 Serialization 보다 더 효율적이다. 2. UI 와 관련된 코드를 제외한 다른 Heavy 한 모든 일은 다른 thread 를 만들어 수행해야 한다. 3. Object Cache 를 적극 활용하자. ( Object Pool 패턴사용이 추천된다. ) 안드로이드의 GC 는 폰이 버벅대는 효과를 가져오는 1등공신(?) 이다. 4. ListAdapter 내부에서는 오랜 시간이 소요되는 연산을 수행하지 않는다.. 2013. 9. 24.
[Java] HashMap 과 HashTable 의 차이는? 자바, HashMap 과 HashTable 의 차이는? Map Interface 를 구현한 녀석 중 대표적인 녀석들은 HashMap 과 HashTable 이다.이 둘의 관계는 ArrayList 와 Vector 의 관계와 비슷하다. ArrayList 와 Vector 의 관계가 궁금하면 여기를 클릭. HashMap 은 thread-not-safe 하고, HashTable 은 thread-safe 하다.즉 multi-thread 환경이 아닌 경우에는 HashMap 을 사용하는 것이 성능상 이롭다. ArrayList, HashMap, hashmap hashtable, hashmap thread-not-safe, Hashtable, hashtable thread-safe, java hashmap, java has.. 2013. 8. 20.
[Java] Thread 의 상태에 대한 이야기 자바, Thread 의 상태에 대한 이야기 Thread 는 진행상태에 따라 상태값을 갖는다. 상태의 종류는 Thread.State 에 정의되어 있는데,BLOCKED, NEW, RUNNABLE, TERMINATED, TIMED_WAITING, WAITING 의 형태가 있다. thread.getState() 로 상태정보를 가져올 수 있다. Thread thread = new Thread(); 이 상태는 NEW thread.start(); 이 상태는 RUNNABLE thread scheduler 에 의해 실행이 시작되면 상태는 Running 상태 ( 상수로 구분되어 정의되어 있지는 않다. ) thread 안에서 wait( 1000 ); 이 상태는 TIMED_WAITING wait(); 이 상태는 WAITING.. 2013. 8. 19.
[android] Memory Allocation 을 추적하자! Memory Allocation 을 추적하자. DDMS 의 Allocation Tracker 라는 도구를 이용하여 메모리 할당을 조사할 수 있다.해당 application process 를 클릭한 후 Allocation Tracker 를 클릭하고, Start Tracking 버튼을 클릭한 후, 앱에서 여러가지 기능을 수행한다. 그 다음 Get Allocation 버튼을 클릭하면 현재 할당된 메모리들에 대한 정보가 나온다. 해당 메모리가 어떤 경위로 할당되었는지 Stack Trace 정보도 볼 수 있고, 어떤 Thread, 어떤 Class, 어떤 File의 몇번째 줄에서 생성된 녀석인지 상세정보를 알 수 있다. Allocation Tracker, Android, application process, CLA.. 2013. 8. 13.
[android] Strict Mode 에 대해 알아보자. 안드로이드, Strict Mode 에 대해 알아보자. 참조 : http://dev.kthcorp.com/2012/01/31/android-strict-mode-howto/ Strict Mode 가 뭐야? * Main Thread 에서 사용성을 떨어뜨리는 작업들( 대표적으로 IO )을 하지 않도록 개발자에게 Log, 강제 종료, dropbox, dialog, splash 등의 방법으로 알려주는 API 이다. * GingerBread 부터 소개되었다. * IO 작업 중에서도 file, network access 는 특히 위험하다. 그 이유는 android file system ( YAFFS, Yet Another Flash File System ) 의 경우 한 process 가 해당 파일에 접속하면, 다른 .. 2013. 7. 17.
[andoid] AsyncTask vs. Handler + Thread AsyncTask vs. Handler + Thread 참조 PPT AsyncTask UI 스레드에서 생성, 사용해야 한다는 제약사항 있음.비교적 오래 걸리지 않는 작업에 유용하다.Callback 함수들이 잘 정의되어 있다.Task cancel 이 용이한 편이다.재사용이 불가능하다. Handler + Thread UI 스레드 사용 제약이 없다. ( Looper 전달 가능 )작업시간에 대한 제약이 없다.구현이 AsyncTask 에 비해 조금 복잡할 수 있다.Task cancel 이 어렵다.재사용 가능하다. 언제 어떤걸 사용할까? 주로 async 하게 처리해야 하는 경우는 I/O 처리를 할 때이다.DB, Network, Bitmap 처리, File 처리 등. DB, Network 은 Handler + Thr.. 2013. 7. 16.
Intel i3 i5 i7 CPU 차이점 ( 비교 ) Intel i3 i5 i7 CPU 차이점 ( 비교 ) 형이 컴퓨터 업그레이드를 생각하고 있어서 CPU 에 대해 살짝 공부해봤다.i 시리즈의 기본적인 특징은 내장 그래픽을 장착하고 있다는 것! i3 의 특징 듀얼코어, 4 Thread하이퍼스레딩 O터보부스트 X 현재 4세대 하스웰이 출시되었는데, i3 용 하스웰은 출시가 안 되었고, i5, i7만 출시된 상태! i5 의 특징 쿼드코어, 4 Thread하이퍼스레딩 O ( 하이퍼스레딩 지원 안 하는 모델도 있다고 함 )2013.07.01. 정정 : 하이퍼스레딩 X 2013.11.11 정정모바일 i5 의 경우 하이퍼스레딩을 지원하고, ( 듀얼 코어, 4 Thread )PC용 i5의 경우 하이퍼스레딩이 지원되지 않는다. ( 쿼드코어, 4 Thread ) 2013... 2013. 6. 17.
[Android/안드로이드] Android Developer AsyncTask 파트 번역본입니다. 0. History - 이 번역 글은 2012-01-20 초안 작성 시작하였습니다. - 잘못된 번역, 오래된 정보, 오타가 있다면 Comment 남겨주세요. 확인 후 수정하겠습니다. - 이 번역 글은 2012-01-22 초안 작성 완료하였습니다. 1. Intro 왜 AsyncTask 파트를 번역하시나요? AsyncTask 관련 글들을 쓰면서 Android Developer Guide 를 참조하였습니다. [Tutorial] 쉽게 사용하는 Thread와 Handler. AsyncTask class 를 통해 해보아요~ (개념) [Tutorial] 예제를 통해 배우는 AsyncTask. 함께 배워보아요. 정리해서 쓴다고 썼지만, 그래도 놓치는 부분도 많고, 제가 정리한 것보다는 전문적으로 작성되고 공개된 글을 .. 2012. 1. 20.
반응형