2008-10-28 4 views
0

iPhone 응용 프로그램을 개발 중입니다. 해당 응용 프로그램에서 TableViewController, 및 TableViewController 사용자 정의 표 셀로 구성되어 있습니다.
그 셀에 나는 URL에서 이미지를로드하지만, scrolling은 매끄럽지 않습니다 (스크롤 할 때마다 각 셀로드 이미지가 있기 때문에).웹에서 검색 한 이미지를 응용 프로그램 번들에 저장할 수 있습니까?

그래서 이미지를 애플리케이션 문서 폴더에 저장하기로 결정했지만 애플리케이션이 실행 중일 때 iPhone에서 문서 폴더를 사용하는 방법을 알지 못합니다.

의견이 있으십니까?

그리고 SQLite는 이진 데이터를 저장하는 BLOB 데이터 타입을 가지고 있음을 발견 다른 포럼에 ,

효율적인 어느 방법, 문서 폴더 또는 sqlite가 이미지를 저장하는 방법?

답변

2

,하지만 정말 부드러운 스크롤하지 않습니다 :

이 문서 디렉토리를 얻으려면이를 사용합니다. 스크롤이 고르지 않게되는 이유는 셀 코드의 동기 함수는 실행 루프를 차단하여 애니메이션을 방지한다는 의미입니다. 스크롤링 속도를 높이려면 비동기로 만들어 블로킹 이벤트를 없애야합니다 (비동기 콜백이 많은 CPU 시간을 소비하는 경우 여전히 덩어리 스크롤링을 유발할 수 있지만). 또는 블로킹 코드를 해제하십시오. 주 스레드.

부하를 메인 스레드에서 옮기면 개별 파일이나 sqlite3 데이터베이스가 정상적으로 작동합니다. 다른 중요한 문제는 스크롤하는 동안 셀이 업데이트되지 않는다는 것입니다. 즉, 셀로드에 응답하여 비동기 이미지로드를 수행하면 사용자가 스크롤을 마칠 때까지 셀에 이미지가 나타나지 않습니다. 이는 일반적으로 원하는 경험이 아닙니다. 이를 피하기 위해 사용자가 스크롤을하기 전에 이미지를 램에 미리로드해야합니다.

0

NSFileManagercreateFileAtPath을 사용하여 NSData을 파일에 저장할 수 있습니다. 어느 정도 일을 향상시킬 수 있습니다 장치에 이미지를 저장

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
관련 문제