위 화면에서 스크롤 할때 화면이 왜 버벅일까?
아이폰 화면은 16밀리 세컨에 한번씩 갱신된다. 하나의 셀을 구성하기 위해서 여러 작업들이 일어나는데 그 작업들의 처리량이 많기 때문이다. 즉 일이 많다.
xcode에서 보면 스레드 하나만 작동되는것을 볼수 있다.
하나의 셀에서 많은 양을 처리하는 과정이다
실생활예시로 여러개의 복사기가 있는데 하나의 복사기만 사용하는것과 같다.
그럼 어떻게 많은 양의 작업을 동시에 처리해서 안 버벅이게 할수 있을까?
대기열에 작업을 넣어주기만 하면 된다. 즉 큐에 디스치 해주면된다.
그럼 시스템이 알아서 큐에서 작업을 빼서 스레드에 할당해준다.
우리가 할일은 작업을 큐로 보내는것!
GCD 와 OPERATION
어떻게 코드로 구현 할까?
코드 구현 2
한 작업 단위란 클로저 안에서의 작업은 순차적으로 이루어 진다는의미다.
코드 예시
둘의 차이?
'아이폰 개발 > ios 개념&튜토리얼' 카테고리의 다른 글
swift 디스패치큐의 종류 특성 (0) | 2021.07.01 |
---|---|
swift 직렬과 동시 & 동기와 비동기 개념 (0) | 2021.07.01 |
iOS NSStream 이용한 채팅앱 예제 (1) | 2021.03.17 |
iOS UIBezierPath 예제 - 그림 그리기 (0) | 2021.02.22 |
CGContextRef 예제 - 그림 그리기 (0) | 2021.02.22 |