AVPlayer 플레이어의 전송 동작을 제어하는 인터페이스를 제공 플레이어는 미디어 asset의 재생 및 타이밍을 관리하는 컨트롤러 개체입니다. AVPlayer 인스턴스를 사용하여 QuickTime 동영상 및 MP3 오디오 파일과 같은 로컬 및 원격 파일 기반 미디어와 HTTP Live Streaming을 사용하여 제공되는 시청각 미디어를 재생할 수 있습니다. 플레이어를 사용하여 한 번에 하나의 미디어 asset을 재생합니다. 플레이어 인스턴스를 재사용하여 replaceCurrentItem(with:) 방법을 사용하여 추가 미디어 asset을 재생할 수 있지만 한 번에 하나의 asset의 재생만 관리합니다. 또한 이 프레임워크는 AVQueuePlayer라는 하위 클래스를 제공하여 순차적으로 재생되는 미디..
정적/동적 라이브러리 (이하 스태틱/다이나믹 라이브러리) Overview of Dynamic Libraries 앱의 퍼포먼스를 결정하는 중요한 두가지 요소는 앱 실행 시간과 메모리 공간입니다. 앱의 실행가능한 파일의 크기를 줄이는것과 설치될 때 메모리 사용을 최소화하는 것이 앱의 시작을 빠르게하며 설치 후 메모리 사용을 줄여줍니다. 스태틱 라이브러리 대신 다이나믹 라이브러리를 사용하면 앱의 실행 파일 사이즈를 줄일 수 있습니다. 이것은 앱의 시작 시간을 줄이고 메모리를 효율적으로 사용되게 해줍니다. Static Library 대부분의 앱의 기능들은 라이브러리의 실행가능한 코드들에 구현되어 있습니다. 앱이 스태틱 링커를 사용하여 라이브러리와 링크되면, 앱에서 사용하는 코드는 생성된 실행가능한 파일에 복사됩..
PHImageManager로 PHAsset을 이미지로 변환할 때 requestImage를 사용합니다. 이 때 targetSize가 필요한데, targetSize에 따라 메모리 사용량이 크게달라집니다. 참고 https://baechukim.tistory.com/127 WWDC에서도 소개되었는데 파일의 크기가 아닌 이미지의 pixel 크기가 메모리에 영향을 주게됩니다. 그래서 targetSize를 줄이면 메모리 사용량을 개선할 수 있습니다. (하지만 완전히 requestImage는 pixel크기에만 의존하진 않는 것 같습니다. 아래에 내용 추가) asset의 pixel사이즈의 width 혹은 height가 windowWidth의 5배를 넘는다면 windowWidth의 5배크기로 줄여서 테스트했습니다. 테스트..
WWDC2018 iOS Memory Deep Dive내용중 일부입니다. https://developer.apple.com/videos/play/wwdc2018/416/?time=1405 iOS Memory Deep Dive - WWDC18 - Videos - Apple Developer Discover how memory graphs can be used to get a close up look at what is contributing to an app's memory footprint. Understand the true... developer.apple.com 이미지는 Dimension과 관련있지 파일사이즈와 관련있는 것이 아닙니다. 2048 * 1536이면서 파일사이즈는 590kb인 이 이미지를 ..