안드로이드 앱의 배터리 소비를 최적화하는 방법에는 어떤 게 있을까. 안드로이드 개발자가 공개한 슬라이드셰어 문서에 따르면 스마트폰이나 태블릿 등을 이용하려면 아무래도 중요한 작업에는 많은 전력이 소비된다. 배터리 문제를 해결하려면 배터리 용량을 늘리거나 보조배터리를 구입하는 등 다양한 방법을 고려할 수 있지만 근본적인 해결책이라고 하긴 어렵다.

구글의 소프트웨어 엔지니어인 제프 샤키(Jeff Sharkey)가 프레젠테이션에 공개한 안드로이드 단말의 배터리 사용량을 보면 배터리 용량이 1,150mAh짜리 단말기라면 유튜브 동영상을 1시간 시청하면 340mAh 전류를 필요로 하는 만큼 3.4시간이면 배터리가 모두 텅 빈다.
3G 회선에서 웹브라우징을 하면 1시간에 225mAh가 필요하다. 5시간이면 배터리가 모두 소모된다는 얘기다. 비행기 모드라면 1시간에 2mA가 필요하기 때문에 24일 동안 배터리를 유지할 수 있다.
또 데이터 6MB를 전송할 때에는 3G나 와이파이 등 어떤 통신 방식을 이용해 데이터를 전송하느냐에 따라 방전 용량은 달라진다. 가장 배터리 친화적인 건 와이파이다. 지난 2012년 조사 결과에 따르면 무료 체스 앱이나 앵그리버드 같은 걸 플레이하면 방전 용량 중 25∼35%는 게임을 하는 데 필요하지만 나머지 65∼75%는 사용자 정보를 인터넷에 올려 화면에 전달되는 광고를 보는데 이용된다.
또 프리패치는 컴퓨터가 이용할 것 같은 데이터를 미리 메모리에 올려두고 성능 향상을 도모하는 것이다. 다운로드 항목 수를 줄이거나 응용프로그램 대기시간을 줄일 수 있다. 캐시는 가능하면 크게, 하지만 오래된 데이터는 남겨두지 않도록 적절한 조절이 필요하다.
데이터는 압축을 하는 게 좋다. 압축 여부에 따라 데이터 분석에 걸리는 시간이 크게 달라진다. 그 밖에 사용자가 배터리 상황을 모니터링하고 배터리 용량이 크게 변화하는 요인을 관찰하는 것도 필요하다. 앱 업데이트는 장치의 배터리를 많이 소비하지만 충전시간 도중 업데이트를 하면 배터리를 불필요하게 쓸 필요가 없다.
또 안드로이드 운영체제에 지금은 대기 모드에 들어가지 말라는 절전 방지, 차단 기능인 웨이크락(Wakelock)이 있는데 이 API를 잘 활용하는 것도 배터리 소모를 줄이기 위해 필요한 것이다. 그 밖에 안드로이드 앱 전력 소비량을 진단해주는 개발자 도구(Trepn Profiler) 등을 이용하는 것도 의미가 있다. 이런 과정을 통해 응용 프로그램 배터리 소비를 20%나 개선할 수 있다는 설명이다.
전자신문인터넷 테크홀릭팀
이원영IT칼럼니스트 techholic@etnews.com