App thinning에 대해서 설명하시오.
by 사슴비행기App thinning은 iOS 앱을 더 효율적으로 관리하고 사용자 디바이스에 최적화된 형태로 제공하는 기술입니다.
App thinning의 목표는 앱 다운로드 및 설치 크기를 최소화하고, 사용자 디바이스의 저장 공간을 효율적으로 활용하여 더 빠른 다운로드와 실행을 가능하게 하는 것입니다.
App thinning은 다음과 같은 세 가지 기술로 구성되어 있습니다.
App Slicing
앱의 실행 시 필요한 리소스만을 포함하는 것을 목표로 합니다.
앱스토어에서는 각 디바이스에 필요한 리소스만을 다운로드할 수 있도록 앱 번들을 잘게 나누어 저장합니다.
예를 들어, 특정 디바이스에는 고해상도 이미지가, 다른 디바이스에는 저해상도 이미지가 포함된 번들을 다운로드할 수 있습니다.
On-Demand Resources (ODR)
앱이 실행되는 동안 필요한 리소스를 동적으로 다운로드할 수 있게 합니다.
필요한 리소스를 미리 다운로드하지 않고, 앱이 실행 중에 필요할 때 필요한 리소스를 다운로드합니다.
예를 들어, 게임의 특정 레벨에 필요한 리소스는 해당 레벨이 시작될 때 다운로드합니다.
Bitcode
Bitcode는 앱을 빌드할 때 LLVM 컴파일러를 통해 생성되는 중간 코드로서, 앱 스토어에 업로드할 때 LLVM 컴파일러가 최적화된 코드로 변환됩니다.
Bitcode를 사용하면 앱스토어에서 최신의 최적화된 코드를 다운로드하여 설치할 수 있는 장점을 제공합니다.
App thinning은 iOS 앱의 효율성과 사용자 경험을 향상시키는데 기여하며, 특히 디바이스의 저장 공간이 제한적인 경우 유용합니다.
'ios > 면접질문 공부' 카테고리의 다른 글
@main에 대해서 설명하시오. (2) | 2024.01.02 |
---|---|
앱이 시작할 때 main.c 에 있는 UIApplicationMain 함수에 의해서 생성되는 객체는 무엇인가? (0) | 2023.12.30 |
iOS 앱 화면의 콘텐츠를 표시하는 로직과 관리를 담당하는 객체를 무엇이라고 하는가? (0) | 2023.12.19 |
iOS 앱의 콘텐츠나 데이터 자체를 저장/보관하는 특별한 객체를 무엇이라고 하는가? (0) | 2023.12.19 |
실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하시오. (0) | 2023.12.18 |
블로그의 정보
Beautiful Coding
사슴비행기