cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Murdaugh (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CB-9615) getsettings API removed from Android CordovaWebView which disables renderpriority and WebView tweaks for devices below Android 5
Date Sun, 10 Jan 2016 06:19:40 GMT

    [ https://issues.apache.org/jira/browse/CB-9615?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090916#comment-15090916
] 

Chris Murdaugh edited comment on CB-9615 at 1/10/16 6:19 AM:
-------------------------------------------------------------

The problem is two-fold:

1. As Android 4.3 and below are the old webview (not Chrome-based webview), CSS Tranforms
are slow. This kills our app and many others which use CSS tranforms for some important HTML
animations (the issue also affects Scrolling and animated gif performance). LOTS of people
are complaining about this and it has been a longstanding issue for Android performance for
Cordova/Phonegap:

For evidence of the large number of developers this issue impacts, google: 
"cordova css transforms slow"
OR
"cordova css transforms slow android developers"

But to save you time, just read this one (has a long chain of many developers discussing the
issue):
https://forum.ionicframework.com/t/slow-page-transitions-on-android-with-hardware-acceleration-on/799/18
AND/OR
https://code.google.com/p/android/issues/detail?id=25147

2. Google is limiting APK size to 50MB (for cellular download), which for most developers
on Cordova/Phonegap that means most of the market and the Cordova APK expansion plugins aren't
really there yet...

3. Crosswalk consumes around 25mb extra file size to include the library with Cordova to address
the CSS Tranforms issue.. This kills it for most developers (see point 2). Androids 4.0 -
4.3 are still 27.4% of Android device distribution - as per:
http://developer.android.com/about/dashboards/index.html

4. The decision to pull support for the old getsettings API in this light is unwise and I
can promise you will turn potential developers away from Cordova/Phonegap (considering that
Android is over 80% of the mobile market and until 4.3 and below are well and truly extinct
this will plague Cordova uptake)...

Please consider adding a shim or some sort of call to allow .getSettings().setRenderPriority
   to work..




was (Author: weeasle):
The problem is two-fold:

1. As Android 4.3 and below are the old webview (not Chrome-based webview), CSS Tranforms
are slow. This kills our app and many others which use CSS tranforms for some important HTML
animations (the issue also affects Scrolling and animated gif performance). LOTS of people
are complaining about this and it has been a longstanding issue for Android performance for
Cordova/Phonegap:

For evidence of the large number of developers this issue impacts, google: "cordova css transforms
slow"
But to save you time, just read this one (has a long chain of many developers discussing the
issue):
https://forum.ionicframework.com/t/slow-page-transitions-on-android-with-hardware-acceleration-on/799/18


2. Google is limiting APK size to 50MB (for cellular download), which for most developers
on Cordova/Phonegap that means most of the market and the Cordova APK expansion plugins aren't
really there yet...

3. Crosswalk consumes around 25mb extra file size to include the library with Cordova to address
the CSS Tranforms issue.. This kills it for most developers (see point 2). Androids 4.0 -
4.3 are still 27.4% of Android device distribution - as per:
http://developer.android.com/about/dashboards/index.html

4. The decision to pull support for the old getsettings API in this light is unwise and I
can promise you will turn potential developers away from Cordova/Phonegap (considering that
Android is over 80% of the mobile market and until 4.3 and below are well and truly extinct
this will plague Cordova uptake)...

Please consider adding a shim or some sort of call to allow .getSettings().setRenderPriority
   to work..



> getsettings API removed from Android CordovaWebView which disables renderpriority and
WebView tweaks for devices below Android 5
> --------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CB-9615
>                 URL: https://issues.apache.org/jira/browse/CB-9615
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Android
>    Affects Versions: 4.1.0, 4.3.0, 4.0.1, 4.1.1
>         Environment: Windows 8.1 and Android SDK with Eclipse or Android Studio
>            Reporter: Chris Murdaugh
>
> getsettings API removed from CordovaWebView ex: appView.getSettings().setRenderPriority
in the java MainActivity no longer works in Cordova Android 3.7.2 and above (to test you will
need to set hardwareacceleration to false in AndroidManifest and use the above java in the
mainactivity) -  an undefined method is thrown in the compiler. This is a deal-breaker as
we cannot use Crosswalk because it adds 18mb to APK size (we really need to stay below the
50MB cellular APK size limit for market reach). We need our CSS3 transforms to be above 1-10fps
for stability and the above tweak has allowed us to maintain compatibility and performance
for Android 4.x and above (this issue affects all supported Android versions since CSS3 transforms
are slow without Crosswalk). Having the getsettings API removed from Cordova 3.72 and above
(and no replacement API exists) means that we cannot upgrade our Cordova until this issue
is resolved and will have to go without patch for CVE-2015-1835.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message