readium / SDKLauncher-Android

Launcher app for Readium SDK on Android
BSD 3-Clause "New" or "Revised" License
76 stars 65 forks source link

Android Nougat v7 new Chrome app shared webview (vs. separate Kitkat 4.4+ Chromium webview) #102

Open danielweck opened 7 years ago

danielweck commented 7 years ago

https://developer.chrome.com/multidevice/webview/overview https://developer.android.com/about/versions/nougat/android-7.0.html#webview

So, do we have to change anything in SDKLauncher-Android? (like we did in SDKLauncher-iOS when transitioning from UIWebView to WKWebView)

danielweck commented 7 years ago

Interesting statement:

Javascript run before page load Starting with apps targeting Android 7.0, the Javascript context will be reset when a new page is loaded. Currently, the context is carried over for the first page loaded in a new WebView instance.

Developers looking to inject Javascript into the WebView should execute the script after the page has started to load.

danielweck commented 7 years ago

I guess the webview selection is automatic:

Starting with Chrome version 51 on Android 7.0 and above, the Chrome APK on your device is used to provide and render Android System WebViews. This approach improves memory usage on the device itself and also reduces the bandwidth required to keep WebView up to date (as the standalone WebView APK will no longer be updated as long as Chrome remains enabled).

danielweck commented 7 years ago

...or as a developer, I can force a particular version:

You can choose your WebView provider by enabling Developer Options and selecting WebView implementation. You can use any compatible Chrome version (Dev, Beta or Stable) that is installed on your device or the standalone Webview APK to act as the WebView implementation.