본문 바로가기
[Effective Objective-C] #37 블록을 이해하라 [Effective Objective-C] #37 블록을 이해하라 출처 : Effective Objective-C -맥 OS X 내에서 UI 스레드가 멈추면 그 무시무시한 돌고 있는 비치볼을 보게 될 것이다.iOS 에서는 앱이 너무 오랫동안 멈추어 있으면 강제로 종료될 것이다. -멀티스레딩의 핵심 기술은 블록과 GCD(Grand Central Dispatch) 다.블록은 C, C++. 오브젝티브-C 에 렉시컬 클로저(lexical closure)를 제공하는데 이는 매우 유용하다.( 클로저는 함수 내에 함수를 선언할 수 있게 하는 기능이다. 리스프 계열 언어에서 많이 쓰이며, 내부에 선언된 함수는 외부 함수의 파라미터들을 참조할 수 있다. )블록은 코드를 전달하는 기법을 제공한다. -GCD는 스레딩을 이른.. 2017. 10. 1.
[android] TextureView 에 대한 이야기 Android 그래픽 시스템의 발전 과정. 허니컴 이전에는 Surface Flinger 에서만 GPU 사용 허니컴이 Tablet 용 Framework 이다보니 늘어난 pixel 에 대응하기 위해서 GPU 사용이 필요하게 됨.onDraw() 이후에 실제 그리는 부분을 CPU 에서 하는 것이 아니라 이제는 GPU 에서 하게 됨. 기존 View 는 한 View 가 invalidate 가 되면, dirty check를 한 후, parent 로 올라가면서 invalidate 를 쭉 호출하게 되고, 다시 dirty check 된 녀석까지 draw 를 수행하여 그리게 된다. * 기존 View 의 문제1. UI 스레드에서만 그릴 수 있다.2. View 의 계층 구조를 타야 한다.3. 실시간으로 그리기 어렵다. * 기존.. 2013. 7. 18.
[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.
반응형