android中线程池的选择

线程池是把一个或多个线程通过统一的方式进行调度和重复使用的技术。

避免了因为线程过多而带来使用上的开销。

在安卓开发中,为了更好的性能体验,我们在选择线程池的时候,需要从具体需求来考虑,主要考虑以下几方面:

1、从任务的优先级;

2、任务的执行时间长短;

3、任务的性质(CPU密集/ IO密集);

4、任务的依赖关系这四个角度来分析;

性质不同的任务可用使用不同规模的线程池分开处理:

因此,我们需要知道某一个任务是否是CPU消耗型的任务(定容线程池),还是说IO类型的任务(缓存线程池),充分的调用CPU资源。那在此之前,我们需要知道两个概念:

Wall Duration:代码执行时间

CPU Duration:代码消耗CUP的时间(重点指标,优化方向)。

这里就需要借助SysTrace工具了(具体方法可自行搜索)最终查看xxx.html文件,如下图

通过SysTrace查看 Wall Duration 与 CPU Duration,

消耗的CPU时间片较多,我们就把它放在定容线程池里调度,

消耗的时间片少,我们就把它放在缓存线程池中。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android西红柿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值