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.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
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:
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.