결론을 먼저 말하면, 정확히는 이메일 수신 패턴에 따라 다르지만, 보통 Fetch가 낫다.
아이폰에서 이메일을 받아 보는데 Fetch 방식과 Push 방식이 있다.
Fetch 방식은 주기적으로 이메일 서버에 접속해서 받아보는 방식이고,
(Fetch 주기는 15분, 30분, 1시간, 혹은 수동=메일앱 열었을때)
Push 방식은 서버에서 실시간으로 알림이 오는 방식이다.
다른 식으로 설명해보면,
Fetch 방식은 (내가) 가끔씩 이메일사이트에 접속해서 이메일 왔나 확인 하는 방식이고
Push 방식은 문자로 내용을 받는 방식이며, 가끔 통화권 이탈시는 fetch처럼 확인 하는 방식이다.
여기서 주목할 점은 2가지
ㅇ 데이터 통신 패턴
ㅇ 첫째 배터리 소모는 통신 모듈이 주 원인
우선 데이터 통신 패턴을 보면
Fetch - 무조건 일정 시간 간격으로 발생
Push - 항상 연결됨, 이메일 있으면 다운로드
통신 모듈 상태는
Fetch - 일정 시간 간격으로 켜지고 데이터 확인 후 꺼짐
Push - 거의 항상 켜져있음 (짧은 간격으로 도착여부만 확인함)
감 잡으셨는지, 이메일이 꾸준히 오는 사람은 Push 방식이 끌리겠지만, 아무래도 배터리는
좀더 많이 소모할 것이다.
그래서 "30분, 1시간 마다 Fetch" 방식이 배터리에 유리하다.
(15분마다 Fetch는 아니다.)
(15분마다 Fetch는 아니다.)
그런데 내부적으로 Push 방식의 주기가 얼마일까?
Push가 가능한 Exchange 계정은 Microsoft 사의DirectPush 기술을 사용한다.
DirectPush 같은 경우는 heart beat 기본값이 15분에 한번이다!!!
15분마다 Fetch랑 크게 다르지 않다!!!
.
또 다른 이유를 들자면, 한글 깨짐 문제 때문에라도 Fetch방식
Push 방식은 Yahoo 메일과 Exchange 방식의 메일이 되고 있다.
예로 구글메일 같으면 지메일 방식과 익스체인지 방식을 모두 지원한다.
지메일 방식은 Fetch 만 가능하고, 익스체인지 방식은 Push 및 Fetch가 가능하다.
문제는 Push 방식으로 한글 메일을 받으면, 아이폰 메일앱의 문제로 인코딩정보가 있어도,
Base64 혹은 Unicode 로 인코딩이 되어있지 않으면, 글자가 깨져 보인다.
그래도, Fetch 방식에서 안깨지는 것은 참 이해하기 힘들다.