Извините за воскрешение этого вопроса, но мне удалось столкнуться с той же проблемой, и обнаружил, что поворот LAYER_TYPE_SOFTWARE
на внутреннем WebView
*1005* сделал его более плавным.
Я подтвердил, что это работает на моей стороне с версией 8.4.0, работающей на Android 5.1, хотя возможно, что этот обходной путь принесет пользу большему количеству устройств с более мощными процессорами.
В резюме моей деятельности у меня есть
/*
* The AdView attaches it's internal WebView only once it
* has been loaded, so we need to wait until that happens.
*/
adView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
runOnWebView(mAdView, new WebViewAction() {
@Override
public void run(WebView view) {
// the most important part is here
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
});
}
});
с методом runOnWebView и интерфейсом WebViewAction, определенным как
/**
* Recursively searches for a WebView instance located in
* the hierarchy of view and invokes the callback method on
* action with the found instance.
*/
private void runOnWebView(View view, WebViewAction action) {
if (view instanceof WebView) {
action.run((WebView) view);
return;
}
if (view instanceof ViewGroup) {
final ViewGroup parent = (ViewGroup) view;
for (int i = 0; i < parent.getChildCount(); i++) {
runOnWebView(parent.getChildAt(i), action);
}
}
}
private interface WebViewAction {
void run(WebView view);
}