Simple "default" Gluon Mobile app (Single View project, the one generated via New Project) runs terribly slow on iPhone simulator on my macbook. If I add a couple of controls and views - it almost hangs and loads the CPU too much (just by being open in Simulator it turns my macbook into a frying pan).
But the same app runs perfectly smooth on Windows, MacOS and Android device.
IDE: IntelliJ Idea 2018.1, gradle task "launchIphoneSimulator".
Any ideas why is that so? Does anybody have the same performance issues with Gluon Mobile on iPhone Simulator?
Related
I have some questions about the performance of a react native app.
I'm developing a react native app (RN 0.62.2). I'm testing on various IOS simulators as well as on a real device (iPhone 7, ios 13.3).
I'm mostly using the simulator because it's the fastest way to check the output of the code, but when I'm testing on my iPhone 7, I see some performance issues.
First of all: I'm using react navigation. When I open the perf monitor on the simulator and I navigate to a new screen (in the same stack navigator), the JS thread drops with about 6-8 frames (from 60 to 52-54). On the real device with 18-20 frames (from 60 to 40-42). I navigate to the exact same screen.
Secondly, I load local images through require. On the simulator, they appear almost instantly. On the real device, it takes some time before they appear. For example, I have a screen with a background image. On the simulator, it's instantly shown. On the real device however, it takes about a second to load.
I'm using a lot of animations in my app. I'm using reanimated to run the animations on the UI thread. In the simulator, they all work very smoothly, but on the real device, it seems like they are having some issues. They're not that smooth as on the simulator.
Another thing: when entering some text in a textinput (text is stored in a useState-variable while typing through onChangeText={v => setValue(v)}. Frame drops about 6-8 frames on the simulator, but again around 18-20 frames on the real device.
My question now is: what could possibly be the reason for this difference in performance? I've come up with some possible answers, is one (or more of them) correct?
Reason 1: metro server
I'm testing on the real device, so the react native code is still on my laptop. The app is not running on my phone yet, so all request go through the cable which connects my phone to my laptop. This results in some lag.
Reason 2: old device
My iphone 7 is old. I'm running ios 13.3 but the iphone is almost 4 years old. However, when I test on an iphone 7 simulator (ios 11.4), it all works smoothly.
Also I noticed something weird: running the same app in the simulator consumes about the double of RAM memory then on the real device. In the perf monitor on the simulator, when I open the app, or I do some actions, there is more RAM memory used than on the real device (around 30-40 mb, sometimes around 70-80 mb, depeding on the simulator type and ios version).
I have not tested it with a release build yet because my app is far from done. Is there a performance difference between an app testing through the metro server and a release build?
Edit:
I've tested the release build instead of the debug build on my real device. I see a better performance than in the debug build, so that's good. The problem now is: I can't check the perf monitor. Does someone know a good tool to check the performance of a release build?
Great question!
Not aware of any means to run debugger against a Release build. That said - you can run a Debug build on your physical device.
Connect device to Macbook
Open ios/.xcworkspace in XCode
Choose your device and Product -> Run
You'll have access to all the typical debugging niceties - Inspector, debugger, Performance monitor. Assume your Release builds will run faster than Debug builds.
I have developed a mobile app for IOS, Andriod and Windows devices. The application was developed with Phonegap.
I am running into a few issues while testing. Everything works perfect on Android, Windows and iPad, however once the app is on an iPhone 7 with operating system 11.2.5 there are a few "quirks". For instance select menus are self selecting and causing the app to crash. This only happens on the iPhone.
I am trying to debug this using weinre to debug, and I am unable to successfully get the iPhone to connect.
Is there options to see a console log, web inspector to find these errors?
Any help is greatly appreciated.
Phonegap serve and weinre.
Running both. I was able to pin point the issue..
Needed to update plugins.
I'm having difficulty inspecting web pages on mobile Safari.
I'm using an iPhone 5S with the latest version of iOS 7 and the Safari nightly builds on Mac. I've also got the relevant options turned on for the iPhone and desktop Safari but my device never appears in the Develop option in Safari.
Has this feature been removed in iOS 7 or am I going mad?
Update: Furthermore, this seems to work fine with an iPad running iOS 7 so I've ruled out the version of iOS. And I've tried it with two different devices (both same spec, 5S) which don't work
Is there an established method for developing and testing an iOS PhoneGap application on Windows? We're talking about straight HTML/Javascript/CSS here. My first thought was to test with Safari with windows at various sizes (ie. 320x480 for 3GS). However, I don't know how accurate that is with regards to how the UI will respond and how images will display (especially relating to retina displays). Any ideas?
You can try using the Ripple Mobile Enviroment Emulator for Chrome
Ripple
I have developed a sencha touch app that runs fine on all supported phones when opened up from a web site.
When I build the app as a native phonegap app using cordova 1.5 and 1.6 the app again runs on android phones (haven't tried iphone) and in the ripple emulator. However, when I load the app in the Blackberry Webworks emulator, or onto a blackberry phone I get a java.lang.illegalArgumentException.
I have even stripped the app to little more than a hello world example, but I still get the same error.
I have managed to get the sample cordova app running on a blackberry, so I knnow the phone is not the problem.
Any help with this problem would be a great help
After a ridiculous amount of trial and error it turns out that error was being caused by the png file I was using for my splash screen. Seemingly the splash screen image must be less than 16 kb