I am facing very weird issue. Working on mobile application using Ionic and Angularjs. Things are pretty good but all of a sudden side menu scrollbar become sluggish. It will be easy to pin point things but issue is only coming with Samsung S6 (Android 5.x). S4 it is good. Any other mobile with Android 5.X version it is good. iOS working great. Just specific mobile it is not good.
I am creating dynamic menu based on response, I tried to do it hard code way but nothing helps. Also cross check digest timing that is also in ms. So, I doubt that can be issue.
I can't even pin point the issue to solve it. As things are very much specific to this mobile.
Any idea to debug it or way I can get and/or provide more info.
Let me know if any further information is required.
PS: I tried fresh ionic application with side menu, there it is working good on S6.
I'm currently using WebView.draw() to take a screenshot of the entire WebView and save it into a Bitmap (based off of this solution). It has worked perfectly up until now.
I was recently testing this functionality on a Nexus 5 (please note that on the Nexus 5 the WebView in question is bigger than the screen, so the user can scroll both horizontally and vertically) running Lollipop 5.1 and the latest update of Android System WebView (version 42.0.2311.137 at time of writing) when I noticed that the generated bitmap was wrong. It had the correct dimensions but instead of showing the whole WebView, it only had the part of the WebView that was visible to the user when the method was called.
I have tried uninstalling all updates to the Android System WebView (thus bringing it back to version 39 (1743759-arm) and with the factory version the functionality works fine. So this problem is due to a relatively recent update of the Android System WebView. I wasn't able to find a change log so I can't figure out what has changed and how to fix it.
Below is a quick visual explanation:
Has anyone else encountered this problem and found a possible solution ?
You need to call WebView.enableSlowWholeDocumentDraw() before creating any WebViews. That is, if you have any WebViews in your layout, make sure you call this method before calling setContentView() in your onCreate().
I'm currently developing my final year project, which is due this month, using phonegap and the most recent update to the Samsung Galaxy S4 seems to have completely disfigured everything in my application.
Has anyone come across this issue before or have any idea how to fix this ASAP?
Thanks lots,
Paula
I have come across this when using phonegap and sencha touch. First thing to do is make sure you update your app to the current version of phonegap. Typically they will release new version along side of android.
If your still getting the issues after the phonegap update. I would suggest looking into what browser it is using. Several phone manufacturers put their own flavor into the web browser which can affect your code. I previously had an issue with htc do to the browser handling css differently. Android APIs are the same, some will use different browser code so you will have to test it against each to make sure it works.
I also believe phonegap allows you to modify what browser it uses. It may default to chromium now but in the past you could switch it depending on what api version it was.
I am using Cordova and Sencha Touch 2.3.1 to create both Android and Ios apps. The performance of the IOS app is quite good however the android app performance is very sluggish.
The home page comes is quite good shape but as soon as I open any other page the entire font as well as screen color etc becomes dull and screen response time becomes very high.
Any solutions or pointers will be highly appreciated.
I am using:-
Sencha Touch 2.3.1
Corodva 3.3.1-0.3.1
adt-bundle-windows-x86_64-20131030
Sencha Cmd v4.0.2.67
Part of the issue may be that iOS has a dedicated GPU and compiles mobile Safari with GPU acceleration, whereas most Android devices don't.
There's going to be a lot of potential answers to your question, it's likely that in some or a few ways that your application isn't following best practices which may be causing it to run slowly. The DOM might be too large, you could be instantiating things when you don't need them and forgetting to destroy them and a whole bunch of other stuff. There's a great video about Sencha Touch best practices I wrote a blog post about here: http://www.joshmorony.com/top-10-tips-sencha-touch-best-practices-review/
I developed an application for android using jquery mobile and phonegap.
I deployed the app to my device over usb. The performance of the app ist really bad, especially while scrolling a longer list.
The strange thing is: The whole app runs smooth if i just open up the browser on my phone and access the index.html directly. Same technology, same content. I do not use the phonegap native api or anything similar.
Tested with phonegap 1.5.0 and 1.7.0rc1, jquery mobile 1.1.0 on android 4.0.2.
Any ideas?
On honeycomb (3.0), Ice cream (4.0) and posterior devices, you can boost performance by adding the following in the < Application ... > tag:
android:hardwareAccelerated="true"
You could set the minSdk to 8 (Android 2.2) for compatibility and the targetSdk to 15 (Android 4.0) and that would make hardware acceleration work when its available on the device only.
I believe that with this flag the performance of my apps is equal to running them in the browser, so I guess its because the browser was coded with hardware acceleration :)
I had a similar problem: a page with a longer list of "medium complex" themed divs. The browser of HTC phone had no problems in displaying. But within the phonegap app rendering failed completely. I saw a kind of WSOD, which disappeared only after touching the display. After touching, the page was displayed correct.
The problem was not in place, when I shortened the div-list to one or two div-elements or when I reduced the sub elements within the divs and reduced the render effort caused by the css complexity.
The white screen looked like, if the whole body was invisible, since only the documents background-color was displayed (I added a light pink for this). So I guess, the rendering was the problem after reading this thread
I tried the various proposals I found in this thread to make the app work without the "WSOD". But nothing worked. Some of them made the app displaying really worse.
Finally, after a whole day of searching, I made it. I set within the tag (not the tag) of my AndroidManifest
<application android:hardwareAccelerated="false" ...
Now the app behaves in the same fast way as my webbrowser. Seems like, if hardware acceleration is not always the best feature...
My versions:
phonegap 3.5.0, Android 4.0.3, jQuery v2.1.0, HTC Sense 3.6
Found an answer here: http://groups.google.com/group/phonegap/browse_thread/thread/94da1cf881abe995/6d4f7aea7aeba523?lnk=gst&q=performance
There is probably a difference between the native browser and the webview in terms of javascript performance.
If you can confirm the browser performs better (that it's not something suboptimal in your code frustrating one but not the other), you could consider deploying as an html5 offline application so that you will actually run in the browser.
We bumped into performance issues while scrolling the same amount of list items with jquery mobile. The performance was so poor (we didn't even try in PhoneGap environment) that we rewrote the app using iScroll library... now the app scrolls really smoothly.
If you are at the beginning of the development, you could try to change the UI library.
After this situation we deploy our apps to test devices quite often to manage performance issues in time... this became a "policy" :)