2010-12-18 4 views
2

사용자가 요소를 변경하기 시작할 때 주 화면의 현재 스크린 샷을 저장해야하는 앱이 있습니다. 실제로이 스크린 샷을 저장하기 위해 두 번째 스레드를 실행했습니다. 캡쳐 된 이미지는 디스크에 저장됩니다.iphone - 데이터를 데이터로 저장하기

완벽하게 작동하지만 사용자가 화면을 터치하는 것과 화면이 반응하는 사이에 0.1 초의 지연이 있습니다. 두 번째 스레드에서도 파일 I/O가 앱보다 뒤떨어져 있기 때문입니다.

이미지를 파일로 저장하는 대신 데이터로 저장하여 코어 데이터 개체에 저장하는 것이 더 빠르지 않을지 궁금합니다.

너희들은 그것에 대해 어떻게 생각하니? 더 빠를까요?

감사

답변

0

내가 당신도 직접 파일 시스템에 기록하여 오버 헤드 제거로 핵심 데이터가 디스크에 직접 쓰는 것보다 더 빠를 것이라고 생각하지 않습니다. CoreData의 유일한 개선점은 캐싱 메커니즘입니다. 영구 메모리에 쓰기가 지연 될 수는 있지만 피할 수는 없습니다.

계기로 앱을보고 병목 현상을 분석 했습니까? 어쩌면 파일 IO는 실제 문제가 아닙니다.

+0

예, 장비에서 분석하여 문제의 99.9 %를 해결했지만,이 0.1은 저 밖으로 지겹습니다. 나는 계속해서 다른 방법을 연구 할 것입니다. 감사. – SpaceDog

관련 문제