2015-01-08 2 views
1

Android에서 Cordova/Phonegap을 사용하여 Open Layers 3 맵을 표시하는 애플리케이션을 개발했습니다.새로운 태블릿에서 열린 레이어로 Cordova/Phonegap 성능이 느리지 만 새 전화에서는 괜찮습니다.

이이 프로젝트에 매우 유사 : 나는 응용 프로그램이 Kitkat으로 V4.4.4을 실행하는 삼성의 주 4에 원활하게 실행 것으로 나타났습니다

https://github.com/netgis/ol3

및 (옛 S2가 젤리 빈을 실행에 잘 실행 사실 거의 비슷하지만) 몹시 밀기울에 새로운 갤럭시 탭 프로 12.2 KitKat V4.4.2 실행 천천히 실행됩니다.

나는 이유를 알 수있는 코도바/Phonegap 전문가가 있는지 궁금합니다.

내가 볼 수있는 유일한 차이점은 안드로이드의 버전입니다! V4.4.4 및 V4.4.2.

WebView가 문제가되어 성능이 저하 될 수 있다고 일반적으로 말하는 스레드가 발견되었지만 메모 4에서 성능이 크게 향상되었으며 S2는 Jellybean을 사용하는 태블릿보다 뛰어납니다.

여기에 표시하는 것이 유용한 코드인지는 모르겠지만 본질적으로 오픈 레이어 3지도가 포함 된 단일 HTML 문서로 된 Cordova Android 애플리케이션이 있습니다.

답변

2

기본 Android 브라우저를 사용하는 WebView에서는 문제가 발생합니다. 어떤 이유에서이 브라우저는 GPU 가속을 사용하려고 할 때 CPU 지원을 제한하지만 (실제로는 이상하지만 사실입니다) GPU 가속 자체를 제공하지는 않습니다.

분명히 KitKat에는 Android V4.4.3 이전에이 문제가 있습니다. 따라서 V4.4.4를 실행중인 경우 기본 브라우저 대신 Chromium을 사용하므로 수정 된대로이 성능 문제가 발생하지 않습니다. 여기

이 확증 내가 찾은 많은 참조 중 하나입니다 :

https://code.google.com/p/chromium/issues/detail?id=315111

일부 장치는 아직 여기에,이 수준에 업데이트되지 않은 내을 최신 장치까지 :

타블렛

노트 4 안드로 사용

S2부터 사용 안드로이드 V4.4.2 안드로이드 V4.0.2 사용 id V4.4.4

S2는 Jelly Bean을 사용하므로 잘 고쳐졌습니다. Note 4는 업데이트 된 KitKat을 사용하고 잘 실행되지만, 타블렛은 V4보다 낮기 때문에 사용할 수없는 정도로 응용 프로그램과 충돌합니다 .4.3.

나에게있어 제안 된 솔루션의 대부분은 하드웨어 가속을 사용하지 않도록 설정하는 것이지만 내 응용 프로그램이 실제로지도를 효율적으로 렌더링하려면 하드웨어 가속이 필요하므로 이러한 제안은 적합하지 않습니다.

해결 방법은 Crosswalk를 사용하여 OS 버전과 관계없이 Chromium을 강제로 사용하여이 문제를 완전히 없애는 것입니다.

자원이 많이 나는 횡단 보도와 함께 시너지 효과를 코르도바를 사용하는 것으로 나타났습니다 있습니다

https://crosswalk-project.org/documentation/cordova.html

https://blog.nraboy.com/2014/10/use-crosswalk-ionic-framework-android-apps/