Complete

This is by design.

The settings are being serialized to send to the simulator or phone.

opening settings editor consumes app memory

sdk 4.0.7
eclipse CIQ plug in: 4.1.0.beta1
eclipse ver: 2021-09 (4.21.0) Build id: 20210910-1417
windows 10
watch face
minSdkVersion 2.4.0

CASE 1

wf starts, peak memory 88.0

[ecilpse][app settings editor] - open only window and choose project (no push any buttons), peak memory 90.0

CASE 2

wf starts, peak memory 88.0

[simulator][property data]  - open only window (no push any buttons), peak memory 90.0

In both cases there is no calls for app.onSettingsChanged, settings data exist in memory so there shouldn't additional memory consumption.

Now, when you have e.g. 90.5 kB used from 92 there is an error "unable to serialise data" or "out of memory exception" if i choose OK in setting editor.

Parents
  • Yes.  You must be new to app settings.  When new settings are sent to a device, both the old and new settings are in memory at the same time while things are merged, and that's why there is a peak.

    One thing that determines that is the number and type of settings involved.  A few booleans is cheaper than a number of strings for example

Comment
  • Yes.  You must be new to app settings.  When new settings are sent to a device, both the old and new settings are in memory at the same time while things are merged, and that's why there is a peak.

    One thing that determines that is the number and type of settings involved.  A few booleans is cheaper than a number of strings for example

Children
  • I'm not new to settings but again surprised how it can be done this way... As I mentioned there is time to merge it outside app and call onSettingsChanged after this. If user change settings from app, ok it can be peak but not when system does.

    > A few booleans is cheaper than a number of strings for example

    It depends, if somebody nam key "very_long_property_key_id.................................." event bool may weigh in property and in code:)

    But I understand, it's by design.