语言

Menu
Sites
Language
Battery drain

Hello Guys,
I develop a watch face but i don't know why this one sucking up a lot of battery
anyone can help me to resolve this battery drain issuse and optimize this code?

 

var battery_level, battery = navigator.battery || navigator.webkitBattery || navigator.mozBattery,
    eis = document.getElementById("dials"),
	sstp, z = document.getElementById("landing-cover"),
	dtt = null;
z.addEventListener("touchstart", function() {
	dth();
}, false);

function dth() {
	if (dtt === null) {
		dtt = setTimeout(function() {
			dtt = null;
		}, 300);
	} else {
		clearTimeout(dtt);
		dtt = null;
		window.location.href = "content/setting.html";
	}
}

function displayWeekDay() {
	var g = tizen.time.getCurrentDateTime(),
		a = g.getDay(),
		e = g.getDate(),
		c = g.getMonth();
	if (e < 10) {
		e = "0" + e;
	}
	var b = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
		d = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
		f = b[a] + " " + e + " " + d[c];
	document.getElementById("layer13l").innerHTML = e;
	document.getElementById("l19").innerHTML = f;
}
function displayboth() {
	var b = tizen.time.getCurrentDateTime(),
		c = b.getSeconds(),
		a = b.getMilliseconds();
	setAnimationStyle(eis, NEEDLE_DATA, "START", "END", ((a + (c * 1000)) / 60000));
	if (sstp === 1) {
		animRequest = window.webkitRequestAnimationFrame(displayboth);
	}
}

function displaydigi() {
	var b = tizen.time.getCurrentDateTime(),
		d = b.getMinutes(),
		a = b.getHours(),
		e = document.getElementById("l16"),
		c = document.getElementById("l17");
	e.innerHTML = a;
	c.innerHTML = d;
	if (d < 10) {
		c.innerHTML = "0" + d;
	}
}

function initLUXWatch() {
	displayTime();
	displayWeekDay();
	document.getElementById("landing-cover").className = "active";
	sstp = 1;
}

function ambientLUXWatch() {
	displayATime();
	displayWeekDay();
	document.getElementById("landing-cover").className = "nactive";
	sstp = 0;
}


function bev() {
	window.addEventListener("timetick", function() {
		ambientLUXWatch();
	});
	window.addEventListener("ambientmodechanged", function(a) {
		if (a.detail.ambientMode === true) {
			ambientLUXWatch();
		} else {
			initLUXWatch();
		}
	});
	document.addEventListener("visibilitychange", function() {
		if (!document.hidden) {
			initLUXWatch();
		}
	});
}
window.onload = function() {
	flud();
	bev();
	initLUXWatch();
	
};

 

编辑者为: aMir Sirati 09 8月, 2016

响应

5 回复
Shaswati Saha

Hello,

Please share both of the index.html and config.xml file.

 

aMir Sirati

Config.xml

<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns:tizen="http://tizen.org/ns/widgets" xmlns="http://www.w3.org/ns/widgets" id="http://sirati.info/gear/realluxury" version="6.0.1" viewmodes="maximized">
    <tizen:application id="id" package="id" required_version="2.3.1" ambient_support="enable"/>
    <tizen:category name="http://tizen.org/category/wearable_clock"/>
    <content src="index.html"/>
    <feature name="http://tizen.org/feature/screen.size.all"/>
    <icon src="icon.png"/>
    <name>name</name>
    <tizen:privilege name="http://tizen.org/privilege/alarm"/>
    <tizen:profile name="wearable"/>
    <tizen:setting background-support="disable" encryption="disable" hwkey-event="disable"/>
</widget>

 

Index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>name</title>
<link rel="stylesheet" href="content/sharefiles/main.css">
</head>
<body>
<div class="sect"><div id="landing-cover">
<div id="ddialh" class="layer layer1"></div>
<div id="ddialm" class="layer layer01"></div>
<div class="layer layer2"></div>
<div id="layer3" class="layer layer3"></div>
<div id="dialh" class="layer layer4"></div>
<div id="dialm" class="layer layer5"></div>
<div id="dials" class="layer layer6"></div>
<div id="ddials" class="layer7"></div>
<div id="layer8" class="layer8"></div>
<div id="layer9" class="layer9"></div>
<div id="dialbat" class="layer10"></div>
<div id="layer11" class="layer11"></div>
<div id="layer12" class="layer12"></div>
<div id="layer13" class="layer13"><span id="layer13l"></span></div>
<div id="layer14" class="layer14"><span id="l14"></span></div>
<div id="layer15" class="layer15"><span id="l15"></span></div>
<div class="layer16"><span id="l16"></span>:<span id="l17"></span></div>
<div class="layer17"><div><span id="l123"></span></div></div>
<div id="layer18" class="layer18"><div><span id="l19"></span></div></div>
<div class="layer188"><span id="l18"></span></div>
</div></div>
<div id="layerfll"></div>
<script src="js/main.js"></script>
</body>
</html>

 

Shaswati Saha

Please try adding the line below in the config.xml file.

<tizen:privilege name="http://tizen.org/privilege/power"/>
    

 

aMir Sirati

Thank you for your answer, it's ok but how i can optimize for battery usage ? 

Shaswati Saha

To optimize the performance I would like to suggest you to look at profiling data to identify bottlenecks. Also please go through the "Dynamic Analysis" section of the link below:

https://developer.tizen.org/development/getting-started/native-application/application-development-process/optimizing-application-performance