App runs slow on Android

  • Fuse version 0.30.0 (build 8529)
  • Windows 10
  • Uploaded File: Fahad_WorkoutApp.zip

EDIT: Please delete Line MainView.ux: 27: var stmp = require("smtp");

I have an app which is now in private testing on Google Play, the app runs very nicely on my iPhone 6 and local preview, however, it can be very very slow on Android phones (release builds). If you run the app on Android, here’s where you can find instances of the app being slow:

First of all, open the app, and tap “No thanks, Skip”, this will take you to the main app.

Displaying lists

  1. There are many instances of lists generating slowly, for example, if you open the “Plans” page, the list flickers and opening the page is slow. /Pages/MainView/Routines/RoutinesPage.ux

  2. In the “Plans” page, select “Push Pull Legs” > Go to the “Workouts” page > Tap any workout. Here you can see the page is slow and buggy when loading. /Pages/MainView/WorkoutsList/WorkoutsPage.ux

  3. After doing the above, tap “Start” at the bottom > Swipe ←, the transition here is the worst instance of lag. Even tapping “Next” at the top right will have the same problem. Also, while here, complete a set by tapping the “O” in the top right of one of the panels, the ripple animation is slow. /WorkoutPage.ux

  4. Beyond this, tapping any page is slow.

Devices

App runs slow on many many android devices, high-end devices (New Samsung and HTC devices) excluded. Performance on iPhone is great. In particular here are some specific devices:

  • Moto G XT1032, the app is slow but usable. Very noticeably slow, not release ready.
  • Vodafone Smart Ultra 6, here the app is practically unusable, it’s extremely slow, most animations will stutters through 2 or 3 frames then snap to the end. There is no way this app is even slightly usable on this phone.

It’s worth pointing out again that the performance is really good on iPhone 6 and local preview. On iPhone, it seems that there is pretty much no impact on performance, it’s identical to the local preview, which is impressive because I am actually displaying some big lists and using a few animations here and there.

Speed is becoming a concern, for example, on the “Weight” page, I’m getting emails about how slow it becomes to load up the page after several entries are added. Emails and feedback about speed are stressful because they’re difficult to deal with, so I appreciate this help very much. The app is in testing, so if there are any significant lags you notice, please point them out to me :slight_smile:

Finally, I am not a programmer, if my code is confusing, please ask me, I’m on Slack - and if this forum post is missing anything, just let me know.

Thanks!

Hi!

Having an app ready on app store without being a programmer is pretty good, I’d say :slight_smile:

We will take a look and see if something obvious pops out. Beyond that, we are continously working on optimizations and there are several significant ones in the pipeline that most definitely will help a lot.

Running your app i get:

    Error message: Uncaught TypeError: Cannot read property 'length' of undefined
    File name: data.js
    Line number: 97
    Source line: 			for (w = 0; w < lRoutines[i].rWorkouts.length; w++) {```

Hi!

A quick profiling of your app on desktop reveals that the pages in question have an unsurmountable amount of data exported in their module.exports to display very simple views, this data then has to be copied out of the JS VM into native code, which burns a lot of CPU. For some reason this causes problems on some Android phones.

There are some optimizations planned should fix this concern in the future, but for now, there’s an easy work-around:

I reccommend doing some .map() operators to trim down your data before exporting so you don’t export loads of data the view doesn’t need. That should make some orders of magnitude difference.

Considering this solved for now until I get a report on how it works after that.

Thanks for reporting this, will add some diagnostic messages in this scenario so next time you will figure this out faster.

Hey,

Thanks for your help, I did what you said and it didn’t seem to impact the Plans page. I’ve messaged you the new code for the Plans page.

Cheers

Hi,

After applying the fixes, please post an updated .zip as well as an updated description of the remaining problems.