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


#1

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


#2

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?


#3

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 …


#4

See this issue i have opened up for reference: