Ionic 3.1.1 A memory usage disaster? What are we missing?

Guys … UGH … Please excuse the title … as i’d like to believe i am missing something here… but …

In an attempt to eliminate memory leaks from our app, we have stripped our app down to absolute bare bones … and intend on re-implementing logic and complexity one step at a time all the while working to eliminate memory leaks…

Simply put … We cannot even get past rending a page in its simplest form, with static content in the content area … and scrolling leaks memory.

As i scroll a content area that contains a basic list of static content up or down while monitoring memory usage in xcode, i see the memory usage increase by approximately ~2.2mb each time i scroll, and this memory is never released.

Should that be acceptable? Will Apple reject it just based on this alone?

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.4
ios-deploy version: 1.9.1 
ios-sim version: 5.0.13 
OS: macOS Sierra
Node Version: v7.9.0
Xcode version: Xcode 8.3 Build version 8W120l

I should add … currently we are using the WKWebView, but this problem is even worse using a UIWebView

1 Like

I’ve followed your posts here with some interest, even though I have nothing to contribute, because I think you might have encountered a real issue that needs fixing. But could you clarify? Is this with pages lazy-loaded, after you permit the destruction of a page by popping it off the nav stack, the memory is never released? Or are you saying you could have an app with a single page component, and scroll up and down, and eventually you’d get an out of memory error after say 1000 swipes? Or are you saying something else?


Thank you for taking the time to respond …

Currently, lazy loaded, although loading the page eagerly does not seem to matter.

To answer your question - yes, it would seem that scrolling alone would eventually crash the app…

i opened an issue with steps to reproduce… see my next comment …

See this issue i have opened up for reference: