모바일 웹 성능 관련 이슈 확인 및 검토 사항
# WebKit 분석
1. Cordova WebView 기본 프로젝트에 메인URL 로드
2. Android Default WebKit.WebView 로 메인 URL 로드
해당 내용으로 속도 및 성능에 대해 분석이 필요해보입니다.
# 속성
1. JavaScriptEnabled
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
참고 : http://developer.android.com/guide/webapps/webview.html
해당 속성에 대한 영향도 자바 스크립트 사용시 미사용시 속도 측정
2. hardwareAccelerated
<application android:hardwareAccelerated="true" ...>
<activity android:hardwareAccelerated="false" />
참고 : https://developer.android.com/guide/topics/graphics/hardware-accel.html
하드웨어 가속으로 인한 웹뷰의 로드 속도 측정
일반적인 튜닝 옵션
일반적으로 웹뷰 성능 튜닝 관련 내용을 검색하면 단골로 나오는 3가지 튜닝 옵션들이 있는데 다음과 같다
• 캐쉬 사용하지 않기 : webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);로 브라우져 캐쉬를 끄는 방법이 언급되는데, 사실 캐쉬를 쓰는데 왜 성능이 올라가는지는 잘 모르겠다. 이 부분은 조금 더 살펴봐야할것으로 보이고
• 하드웨어 가속 기능 사용하기 :렌더링에 대해서 하드웨어 가속 기능을 사용할지 여부인데, 3.0 부터 지원이 되기 시작했고, 디폴트는 false이며, 4.0부터는 default가 true이다. 앞의 예제에서와 같이 AndroidManifest.xml에서, android:hardwareAccelrated를 true로 설정해주면 된다.
• 렌더링 우선 순위 높이기 : 강제적으로 렌더링 기능에 대한 우선 순위를 높이는 방법이다.
webView.getSettings().setRenderPriority(RenderPriority.HIGH)로 설정해주면 되는데, API Level 18부터는 deprecated 되었기 때문에 하위 버전에만 적용될 수 있도록 한다.
Jenkins CI(continuous integration) for Android (0) | 2017.09.13 |
---|---|
RXJava, RxAndroid 시작! (0) | 2017.08.24 |
갤럭시s8 , G6 리소스 대응! (2) | 2017.05.17 |
금액 형태 변환 코드 줄이기 (0) | 2017.05.16 |
이모티콘(emoji) MySQL charset 문제.. (0) | 2017.05.16 |