关于android 进程CPU占用率高的原因分析

*记录开发中的问题,方便以后自已回忆,2017-07-17 记录
在开发一个语音的线程中,发现有如下事情,系统越来越慢,也越来越卡,打到
adb shell 输 入 top 查看系统资源,发现 CPU占用率节节升高.我的去。*
最终发现是线程没有关闭,而不停的创建新的线程 ,

private class TrackThred extends Thread {

    private byte[] TTSResult;
    private volatile boolean stop = false;
    private List<byte[]> bytes = new ArrayList<>();
    private boolean isTrack = true;
    private void setTTS(byte[] ttsResult) {
        bytes.add(ttsResult);
    }

    @Override
    public void run() {
        super.run();
        audioTrack.play();
        //audioTrack.getPlaybackHeadPosition();
        int i = 0;
        **while (isTrack&&!stop) {**  //这个地方没有加控制开关,在重新 new TrackThred 时发现多次创建的问题
            if(i < bytes.size()-1) {
                TTSResult = bytes.get(i);
                audioTrack.write(TTSResult, 0, TTSResult.length);
                i++;
            }
        }
    }

    public void onStop() {
        isTrack = false;
        audioTrack.stop();

    }

}

130|root@MagicBox_M16S:/ # top | grep “tvtaobao”
7861 7 0% S 86 1646780K 108312K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 0% S 86 1646780K 108312K fg u0_a121 com.yunos.tvtaobao
7861 7 0% S 86 1646780K 108312K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 4 0% S 86 1646844K 108816K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 6 3% S 86 1646780K 109228K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 16% R 104 1703404K 152892K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 2 18% S 109 1730100K 183492K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 2% S 112 1722144K 172400K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 5 3% S 112 1722784K 169596K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47724K bg u0_a121 com.yunos.tvtaobao:channel
7861 4 11% S 115 1727064K 155580K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47760K bg u0_a121 com.yunos.tvtaobao:channel
7861 5 6% S 121 1718892K 166352K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 11% S 124 1768548K 190136K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 5 0% S 124 1768548K 189696K fg u0_a121 com.yunos.tvtaobao
6878 4 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 0% S 124 1768548K 189916K fg u0_a121 com.yunos.tvtaobao
6878 7 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 5 0% S 124 1768612K 190068K fg u0_a121 com.yunos.tvtaobao
6878 7 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 6 0% S 124 1768776K 190020K fg u0_a121 com.yunos.tvtaobao
6878 7 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 7 0% S 124 1768776K 190096K fg u0_a121 com.yunos.tvtaobao
6878 7 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 4 4% S 124 1768740K 190064K fg u0_a121 com.yunos.tvtaobao
6878 7 0% S 38 1548356K 47912K bg u0_a121 com.yunos.tvtaobao:channel
7861 4 16% S 125 1769604K 193096K fg u0_a121 com.yunos.tvtaobao

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值