최근 많이 공유되고 있는 유투브 영상에 대해서 조금 기술적으로 들어가 보겠습니다.
- 모바일랩 추천 느려터진 스마트폰(안드로이드) 빠르게 하는 두가지 팁
여기에서는 2가지 방법을 알려줍니다. (둘다 개발자 옵션에서 설정 변경합니다.)
1. 애니메이션 배율을 0.5x로 변경
3가지가 있는데요. (https://developer.android.com/studio/debug/dev-options )
- 창 애니메이션 배율:창 애니메이션 재생 속도를 설정합니다. 배율이 낮을수록 속도는 더 빨라집니다.
- 설명 : 전체 화면이 아닌 Dialog Box(상단바에서 Wifi, BT 설정 누르면 어느것을 선택할지 나오는 다이얼로그 창)에 적용
- 전환 애니메이션 배율:전환 애니메이션 재생 속도를 설정합니다. 배율이 낮을수록 속도는 더 빨라집니다.
- App(예:Contacts) 실행시, App에서 다른 Activity(예:Contact 선택하여 상세화면 들어갈 때) 진입시와 같이 전체 화면이 바뀌는 상황에 적용되는 애니메이션의 배율을 바꾸는 것입니다.
- Animator 배율 : 개발자가 Android API인 Animator를 써서 App 자체에서 Animation을 사용한 경우에 적용됨(이것은 무시하면 됩니다.)
이 중에서 속도 향상에 효과가 큰 것은 전환 애니메이션 배율입니다.
아래는 같은 App 안에서 내부 버튼을 눌러 다른 Activity로 전환할 때 부드럽게 보이기 위해서 Animation이 존재하는데요.
보통 전환하는 데 걸리는 Animation은 대략 400ms 입니다.
그런데 전환 애니메이션을 0.5x로 하면 그 시간은 200ms가 됩니다.
Contacts App을 사용하다가 이전에 실행해 두었던 Message App으로 들어갈 때를 생각하면 (이때에는 이미 로딩이 되어 있는 상태입니다.)
화면을 준비하는 시간이 200ms 정도됩니다. 화면 준비가 완료되면 400ms동안 전환 애니메이션 되는데, 0.5x로 줄이게 되면 200ms가 되니까. Touch하고서 완료되기까지 이전에는 600ms였는데 400ms로 줄어들게 됩니다. 33% 속도 개선이 되었네요.
2. Logger 버퍼당 로거 크기 조정
방법 : Logger 버퍼의 크기를 256K에서 4M 또는 16M로 증가
위 방법은 제 생각에는 속도 개선이 될까라는 회의가 듭니다.
우선 안드로이드 Logger는 (개발 코드에 직접 입력하여 동작 정보 전달, 디버깅 정보등을 표시하기 위한) 로그를 저장하고 보여주는기능을 합니다. (https://developer.android.com/studio/debug/am-logcat )
로그 저장을 위해 File의 용량을 저장하는 것이 아니라 설정된 용량만큼의 버퍼를 램에 할당하고 로그 출력을 발생할 때 해당 버퍼에 쓰게 되는 것입니다. 만약 버퍼가 다 차게 되면 (링버퍼로 되어 있어) 앞에서부터 다시 덮어쓰게 됩니다. (덮어쓸때에도 Ram에 쓰는 것이라 속도가 느리지 않습니다. )
때문에 이 값을 높여도 성능이 좋아질 이유가 없을 것 같습니다.
동영상에서는 이렇게 하면 인터넷 속도가 빨라진다고 하였는데요. 제가 알기로는 인터넷과 관련된 기능이 아닙니다. 그렇지만 밑에 댓글에는 성능 개선이 된다는 글들이 많아서 조금 자신이 없어지기는 합니다. 제가 뭔가 빠뜨리고 있는 것 아닐까하는...
단점을 생각해보면
Android에는 System, Main, Event, Radio log 이렇게 4가지 종류의 기본 로그가 있습니다. 따라서 만약 16M로 설정을 하게 되면 64M의 RAM 메모리를 사용하게 됩니다. 기존에 256K로 되어 있으면 1M의 메모리가 되니까 65M 메모리를 더 쓰게 되네요.
요새 워낙 폰의 램 메모리가 커서 4G 이상인 경우에는 65M는 큰 영향이 없을 것 같은데요. 2G 또는 헤비하게 쓰는 3G Phone에서는 조금의 나쁜 영향을 줄 수 있을 것 같습니다. 나쁜 영향이란 65M의 메모리가 줄어드므로 다른 App에서 메모리를 확보하기 위해 여러가지 추가 작업(잘 안쓰는 App을 죽인다던지, Cache 메모리를 회수한다던지)인을 수행하게 되는 것을 말합니다.
요약하면
화면 전환 애니메이션을 0.5x로 줄이면 200ms 정도 속도 개선 효과를 볼 수 있음.
Logger 버퍼 변경은 성능 개선은 관련이 없음.