몇가지 사용자 의견을 토대로 개선한 내용과 메모리관련 문제에 대해 말씀을 드리고자합니다.
모토는 무조건 최대한 심플하게~ 로 정했습니다. 라이트버전 리뷰에서 하도 쥐어터져서 말입니다.^^;;
1. 사진추가의 불편함
- 앨범뷰 만들 때에 (new album)이란 타이틀을 기본으로 주고 바로 앨범뷰 화면으로 넘어가도록 했습니다.
기존 : 앨범추가 버튼 -> 앨범추가 화면 -> 앨범뷰
변경 : 앨범추가 버튼 -> 앨범뷰
- 사진추가 UI를 개선했습니다.
기존 : 편집 -> 사진추가 셀 탭 -> 사진편집화면 -> 사진추가메뉴 -> 사진촬영
변경 : 카메라버튼(또는 흔들기) -> 사진추가메뉴 -> 사진촬영
- 아이폰의 사진앨범으로부터 최대 5장의 사진을 블럭복사할 수 있도록 했습니다.
(5장은 애플제한 최대 수치)
기존 : 편집 -> 사진추가 셀 -> 사진편집화면 -> 사진추가메뉴 -> 사진앨범
추가 : 사진앨범에서 5장의 사진을 선택 및 복사한 후 멀티태스킹을 이용하여 i포토메모로 전환 -> 붙이기버튼 탭
2. 메모리 부족 경고
iOS4.0에서 멀티태스킹이 도입되면서 이것이 카메라를 구동하는 앱에서는 양날의 검이되었습니다. 뭐 3.0기반에서도 가끔 일어나는 일이긴 합니다만..
문제는 앱들을 사용한 후에 홈키를 누르면 종료되는 것이 아니라 메모리에 그대로 떠 있는 채 메모리를 점유하고 있다는 것인데요~
이렇게 떠 있는 앱들을 제대로 종료하려면 아시다시피 홈버튼을 더블탭 한 후에 2초정도 앱을 눌러서 개별적으로 하나씩 수동으로 종료해야 그제서야 비로서 메모리 점유가 해제됩니다.
카메라 구동은 대략 10 ~ 12MB의 메모리를 순간적으로 사용하는데요, 이 수치가 Free메모리에 없다면 카메라가 구동되지를 못합니다.(iOS4에서 확인결과로는 30M정도로 더 늘어났습니다.)
그러면 왜 아이폰 카메라 앱은 이런 문제가 나타나질 않을 까요?
아이폰 카메라 앱은 데이터 관리를 하지 않습니다. 즉 대부분의 촬영작업이 Free 메모리의 유효범위 내에 있습니다. 즉 카메라는 촬영만 하고 사진을 파일로 떨구기만 하면 그만입니다.
반면 i포토메모는 이부분에서 약점이 많습니다.
우선 사진을 파일로 저장하지 않고 db에 구겨 넣는다는 것인데요~
이것에는 장단점이 있습니다.
파일로 떨구면 메모리 걱정을 안해도되지만, 기타정보를 저장할 수 없습니다. 파일은 파일이름만 존재할 뿐 부가정보를 저장할 수 없는 단점이 있습니다. i포토메모는 말그대로 사진과 메모를 저장해야 합니다.
그리고 db한개로 백업/복구 다 할 수 있어야 합니다.
그러나 db에 사진을 비롯, 많은 정보를 구겨넣으려면 대략 2배의 시간이 걸리고 메모리도 엄청나게 사용합니다. 이것에는 기술적 내용이 있습니다만, 여기서는 이야기하지 않도록 하겠습니다.
카메라 앱은 카메라만 구동하면 땡이지만 i포토메모는 일단 데이터를 깝니다. 그리고 적절하게 리사이징한 사진들과 데이터들을 보여주고 그 위에서 카메라를 구동하는 셈이라 초반부터 메모리 관리적 측면에서는 게임이 안됩니다.
따라서 사용자분들께서 i포토메모를 최대한 활용하시려면 다음과 같은 점을 유념해주시고 사용해주십시오.
a. i포토메모는 db기반 앱이므로 일정량의 메모리를 깔고 카메라를 구동한다.
b. 멀티태스킹 기반 iOS4에서 다른 앱이 차지하는 메모리의 사용량을 체크한다.
c. 사파리의 캐쉬 싸이트를 정리해준다.
그런데 말이죠...
이런 모든 것이 맘에 안들고 욕만 나온다....ㅡㅡ;;
방법 1. iPhone4G 512M로 업그레이드한다.
방법 2. 리부팅을 가끔해준다.
방법 3. 사진은 카메라앱으로 찍고 사진관리만 i포토메모로 한다.;;
방법 4. i포토메모 대신 파일기반 처리의 타 앱을 사용한다.^^;;
3. 삭제사항
a. Lazy Saving(지연저장) 옵션 제거
지연저장은 백그라운드로 사진을 저장하도록 하는 기능인데요, 고화질 사진의 경우 db에 구겨 넣는데 시간이 많이 걸립니다. 이 시간동안 캐시된 사진을 보거나 다른 사진을 찍도록 한 것인데 부작용이 많습니다.
앞 절에서 말씀드린 메모리 관리 적 측면에서 카메라 구동시에 많은 메모리가 사용된다고 말씀드렸는데 저장시에도 메모리를 사용하는 만큼 저장시 사용메모리 + 카메라 구동메모리가 합산된 결과가 Free 메모리에 0.1kb라도 부족하다면 바로 리커버리 뜹니다. 이 문제의 해결점은 단계적으로 가는 수 밖에 없을 듯합니다.
특히 iOS4에 이르러 더욱 심각해졌습니다. 사용자들이 모두 iPhone4G를 사용하지 않는 한 메모리 부족 문제는 iOS4에서 빈번하게 발생할 것입니다.
개인적인 바램으로는 iOS4에서도 홈키를 누르면 바로 종료되었으면 좋겠습니다.깔끔하게... 멀티를 원할 때만 다른 방법으로 띠울 수 있도록 조치가 되었으면 좋겠네요~
b. 사진편집화면 내 사진추가 메뉴 삭제
사진 추가 기능을 앨범뷰로 빼낸 만큼 편집화면은 편집만하게 하는 것이 옳다고 생각했습니다. 사진편집 화면에서 카메라 구동시켜봐야 가뜩이나 메모리가 부족한 판에 앱의 안정성에 좋을 것이 없겠다는 판단이 섰습니다.
편집화면에서는 편집만...... 심플하게 이렇게 하기로 했습니다.
4. 기타 사항
이 밖에도 불편사항이 있을 줄 압니다. 제가 발견한 것도 있고 하고 싶지만 애플의 제약사항 때문에 구현못하는 것도 있습니다. 왜 MMS에 사진을 직접 첨부하지 못하게 하는 건지... 왜 월페이퍼는 지들만 할 수 있도록 하는 건지... 참으로 제약사항이 많군요~ 그렇다고 잘못 API를 썼다간~
요런 편지를 받고 거절당합니다.
Thank you for submitting iPhotoMemo to the App Store. We've reviewed iPhotoMemo and determined that we cannot post this version of your application to the App Store because it is using private APIs. Use of non-public APIs, which as outlined in the iPhone Developer Program License Agreement section 3.3.1, is prohibited:
The following non-public APIs are included in your application:
displayTick
dragFlow:atPoint:
initWithFrame:numberOfCovers:numberOfPlaceholders:
setDisplayedOrientation:animate:
setInfoLayer:
setNumberOfRows:
setPlaceholderImage:atPlaceholderIndex:
setPlaceholderIndicesForCovers:
UICoverFlowLayer
displayTick
dragFlow:atPoint:
initWithFrame:numberOfCovers:numberOfPlaceholders:
setDisplayedOrientation:animate:
setInfoLayer:
setNumberOfRows:
setPlaceholderImage:atPlaceholderIndex:
setPlaceholderIndicesForCovers:
UICoverFlowLayer
흠.... 고래싸움에 새우등 터지는 꼴입니다. 어도비 프레임워크 쓰는 앱들 이 정책때문에 죄다 리젝된 거 아니겠습니까?
어쨌든, 구석구석 최대한 편리하게 사진들을 관리할 수 있도록 개선해 나가도록 하겠습니다. 또한 사진관련 새로운 기술이 발견되면 즉시 적용할 수 있도록 하겠습니다.
댓글 없음:
댓글 쓰기