• Ok, in terms of memory use, as far as I can tell it's not that much different, lets go for something simple - so a complete 'Install default apps', and executing an 'empty' app on 2v09 firmware, and also an app with widgets:

    require("Storage").write("empty.js","");­
    load("empty.js");
    process.memory();
    
    require("Storage").write("emptywid.js","­Bangle.loadWidgets();Bangle.drawWidgets(­);");
    load("emptywid.js");
    process.memory();
    
    
    // new
    ={ free: 1983, usage: 117, total: 2100,
    // new widgets
    ={ free: 1891, usage: 209, total: 2100,
    // new mclock (long press BTN3)
    ={ free: 1550, usage: 550, total: 2100
    // new mclock after settings
    ={ free: 1450, usage: 650, total: 2100
    
    
    // old
    ={ free: 2002, usage: 98, total: 2100,
    // old widgets
    ={ free: 1902, usage: 200, total: 2100,
    // old mclock (even after settings)
    ={ free: 1570, usage: 530, total: 2100,
    

    I'm not sure if this correlates with what you're seeing, but we're not talking huge extra increases here. Just 20 vars or 1% - and I believe most of that is the added polyfill stuff to add features that will be built in on cutting edge or 2v10 releases.

    Rebooting after changing settings though - that's not good. And you're totally right about the double-redraw - it was actually due to the code being executed twice without a reset between. I have now fixed that one though.

    I could however be wrong - so if you can reproduce some big memory usage issues please let me know how to reproduce with as minimal steps as possible and I can look into fixing it.

About

Avatar for Gordon @Gordon started