下班路上用EL聽ESL, 沒到家電池就沒了...
下了車, 邊走邊算計(jì)著 -- 應(yīng)該是高亮全開看小說(現(xiàn)在換成<冰與火之歌>了..)導(dǎo)致沒電的, 但為啥以前不用EL時(shí), 聽個(gè)ESL不會(huì)沒電呢...會(huì)不會(huì)EL比較耗電?
晚上火力全開, 反省代碼 -- 一個(gè)異步線程, 用于通知UI更新播放軌跡的, 后臺(tái)播放時(shí)也在不停的running...
這個(gè)線程本身就是sleep()個(gè)幾百毫秒, 然后通知UI更新下音頻播放的位置. 雖沒有數(shù)據(jù)表明這樣的'輕'線程會(huì)消耗多大電量, 但本著有CPU跳動(dòng), 就會(huì)有電量消耗的原則, 改了...
private class TickCounterTask
extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void

arg0) {
while (isAudioPlaying && listener !=
null) {
try {
listener.onPlaying(player.getCurrentPosition());
Thread.sleep(777);
}
catch (InterruptedException e) {
e.printStackTrace();
}
catch (DeadObjectException e) {
listener =
null;
}
catch (RemoteException e) {
e.printStackTrace();
}
}
return null;
}
}
加了listener != null的條件, 這樣當(dāng)UI被切換到后臺(tái)是, 取消listener, 異步線程即被終止. 嘿嘿, 省了...
終端設(shè)備上的app不比PC機(jī)的, 除了要考慮UI, Screen Size等問題外, 電量消耗也是必須的啊, 總不能讓人為了一個(gè)app, 隨身背上個(gè)三塊電板不是? 再說, CPU占多了, 真的很'燙'手啊...