下班路上用EL听ESL, 没到家电池就没了...
下了车, 边走边算计着 -- 应该是高亮全开看小说(现在换成<冰与火之歌>了..)导致没电的, 但为啥以前不用EL时, 听个ESL不会没电呢...会不会EL比较耗电?
晚上火力全开, 反省代码 -- 一个异步线程, 用于通知UI更新播放轨迹的, 后台播放时也在不停的running...
这个线程本身就是sleep()个几百毫秒, 然后通知UI更新下音频播放的位置. 虽没有数据表明这样的'轻'线程会消耗多大电量, 但本着有CPU跳动, 就会有电量消耗的原则, 改了...
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的条件, 这样当UI被切换到后台是, 取消listener, 异步线程即被终止. 嘿嘿, 省了...
终端设备上的app不比PC机的, 除了要考虑UI, Screen Size等问题外, 电量消耗也是必须的啊, 总不能让人为了一个app, 随身背上个三块电板不是? 再说, CPU占多了, 真的很'烫'手啊...