Liquid Fire performance on mobile

I agree with the other comments here. I’ve had a lot of experience with this particular issue. Android specifically suffers since it is running multiple applications in the background. You can observe a huge performance difference on the same device if the device has recently been formatted. With the bare minimum 3rd party apps running in the background, Android performance can be acceptable. With a device that has a bunch of apps running, the performance will be far from acceptable. Obviously, I’m not advocating that you instruct your users to format their devices :smile:.

You need to focus on optimizations if you want your app’s experience to be acceptable on most android devices.

  • liquid-fire using velocity has been a huge help for my app’s performance on mobile. I’d advocate to continue using liquid-fire.
    • If your animations are not smooth, debug using Chrome’s rendering debugger and enable “show paint rectangles” The goal of this is to identify dom elements that are being repainted frequently and minimize the repainting.
  • I’d also suggest to cache data records locally with Mozilla’s localforage. You can use ember-sync to achieve this, or possibly ember-orbit.
    • Mobile network performance is anything but dependable so caching data responses from a REST API helps greatly for the end-user’s experience.
  • Rendering performance usually sucks, so be careful about how many items are rendered. If you need to render a list, use ember-cloaking or ember-list-view.
  • Packaging a 3rd party browser like Crosswalk in your Cordova app can be very helpful.