Android WebView 문제: 빈 렌더링, 응답하지 않는 스타일 변경 및 고르지 못한 애니메이션
Android WebView는 종종 빈 페이지 표시, 무시 등을 포함하여 비정상적으로 동작합니다. CSS가 변경되고 애니메이션이 고르지 않게 표시됩니다. 이러한 문제는 실망스럽고 사용자 경험을 방해할 수 있습니다. 다행히도 이 토론에서 살펴보겠지만 이러한 문제에 대한 해결책이 있습니다.
해결책 1: 하드웨어 가속 활성화
Android 4.4(KitKat)부터 하드웨어 가속은 WebView 성능을 향상시키는 데 중요합니다. AndroidManifest.xml에서
<code class="xml"><application ... android:hardwareAccelerated="true"></code>
해결책 2: 강제 다시 그리기
WebView 클래스의 정적 최종 부울 변수를 사용하면 지속적인 뷰 다시 그리기가 가능합니다. 이렇게 하면 응답하지 않는 스타일 변경 및 빈 렌더링 문제를 해결할 수 있습니다. 그러나 이 방법을 사용하면 배터리가 지속적으로 소모됩니다.
아래 표시된 대로 WebView 클래스를 확장하고 onDraw() 메서드를 재정의합니다.
<code class="java">import org.apache.cordova.CordovaWebView; import android.content.Context; import android.graphics.Canvas; public class MyWebView extends CordovaWebView { public static final String TAG = "MyWebView"; public MyWebView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // Warning! This will cause the WebView to continuously be redrawn // and will drain the devices battery while the view is displayed! invalidate(); } }</code>
이 사용자 정의 WebView 클래스를 사용하도록 PhoneGap에 지시합니다.
<code class="java">public void init(){ CordovaWebView webView = new MyWebView(MainActivity.this); super.init(webView, new CordovaWebViewClient(this, webView), new CordovaChromeClient(this, webView)); }</code>
해결책 3: CrossWalk WebView
Android 버전 4.4 이상의 경우 CrossWalk는 뛰어난 성능과 안정성을 갖춘 드롭인 WebView 대체품을 제공합니다. 자세한 내용은 crosswalk-project.org에서 확인할 수 있습니다.
추가 팁:
위 내용은 ## 내 Android WebView가 제대로 작동하지 않는 이유는 무엇인가요? 빈 페이지, 응답하지 않는 스타일, 고르지 못한 애니메이션 - 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!