RudiDL5:
dass die eingesetzte String-Class bei Aufruf einzelner (augenscheinlich notwendiger) Strings dennoch Dinge ins RAM schreibt, die man nicht kontrollieren kann.
Das passiert fast ständig, da dauernd neue Objekte angelegt und zerstört werden. Schon bei so einfachen Dingen wie Strings konkatenieren. Anfänger denken die String Klasse ist einfach. Aber das ist sie nur in der Verwendung. Was da im Hintergrund abläuft ist oft der reinste Horror. Und dann fehlen Anfängern die Kenntnisse das zu minimieren (auch eben weil sie gar nicht erst verstehen was sie eigentlich tun). z.B. am Anfang mal mit reserve() Speicher reversieren damit nicht ständig neuer Speicher angelegt wird. Oder dass man String Objekte immer als Referenz an eine Funktion übergeben muss - oder es wird eine Kopie erstellt.
Dazu kommt es eben das Problem dass dynamischer Speicher halt nicht in der IDE angezeigt wird. Was da eigentlich angezeigt ist trotz des Namens der statische Speicher. Dynamischer Speicher steht erst zur Laufzeit fest. Den kann die IDE nicht kennen.
Wobei auf dem Mega 70% frei eigentlich ein riesiger Puffer ist, so dass man sich auch mal erlauben kann ineffizient zu programmieren. Da gibt es aber noch genug andere Fehlerquellen.