Codejie's C++ Space

Using C++

EL : Saving Battery


    下班路上用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占多了, 真的很'烫'手啊...

posted on 2013-08-22 00:28 codejie 阅读(1074) 评论(0)  编辑 收藏 引用 所属分类: 随笔而已G7EL


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜