Battery consumption optimization for WatchFace

hye evereyone,

i've made lot of rechearch to try to gathering information about battery optimization for watchface but more or less in vain.

I was told by Jim:

- not do the 

App.getApp().getProperty("XXX");
Iin on Update for watchface settings 

it is the only trick I've found so far.

I'm quite lazy and for exemple i did this for 3 data filed I have on a watchface:

		var P = ["C","L","R"];
		var Ps = ["LDC","LDL","LDR"];
		var y=185;
		if (gH<240){y=170;}
		if (gH<200){y=140;}  
	
		    	for (var i=0;i<3;i++){
		    		data = App.getApp().getProperty(Ps[i]);
					if (data==2){DrawNot(dc,P[i],y,CLR1,CLR2);}
					if (data==3){DrawBat(dc,P[i],y,CLR1,CLR2);}
					if (data==4){DrawHR(dc,P[i],y,CLR1,CLR2);}
					if (data==5){DrawElv(dc,P[i],y,CLR1,CLR2);}
					if (data==6){DrawPress(dc,P[i],y,CLR1,CLR2);}
					if (Sys.getDeviceSettings().activityTrackingOn){	
						if (data==7){DrawSteps(dc,P[i],y,CLR1,CLR2);}
						if (data==8){DrawFloor(dc,P[i],y,CLR1,CLR2);}
						if (data==9){DrawKcal(dc,P[i],y,CLR1,CLR2);}
						if (data==10){DrawActive(dc,P[i],y,CLR1,CLR2);}
						if (data==15){DrawDist(dc,P[i],y,CLR1,CLR2);}
					}
					if (data==11 && PRO){DrawNSE(dc,P[i],y,CLR1,CLR2);}
					if (data==12 && PRO){DrawUNSE(dc,P[i],y,CLR1,CLR2);}
					if (data==13 && PRO){DrawWeather(dc,P[i],y,CLR1,CLR2,"");}
					if (data==14 && PRO){DrawStatus(dc,P[i],y,CLR1,CLR2);alarm =false;}
				}
			}

is it a good way to do? for memory or battery?

does anyone has tricks for saving battery?

  • sorry for reviving an old thread, but i'm getting all zeroes on watchface diagnostics, may be an issue.

    custom watchface, vivoactive 4, simulator 4.2.4, windows 11

    tried resetting the simulator

    profiler works just fine

  • This is really for watch faces that use onPartialUpdate() and you want to see what happens when the watch face is in low power mode.  It's to see how you are doing as far as the max avg of 30ms per call.