Android App 线程优化
01.创建Thread弊端
- 直接创建Thread实现runnable方法的弊端
- 大量的线程的创建和销毁很容易导致GC频繁的执行,从而发生内存抖动现象,而发生了内存抖动,对于移动端来说,最大的影响就是造成界面卡顿
- 线程的创建和销毁都需要时间,当有大量的线程创建和销毁时,那么这些时间的消耗则比较明显,将导致性能上的缺失
02.为何要用线程池
- 为什么要用线程池
- 重用线程池中的线程,避免频繁地创建和销毁线程带来的性能消耗;有效控制线程的最大并发数量,防止线程过大导致抢占资源造成系统阻塞;可以对线程进行一定地管理。
- 使用线程池管理的经典例子
- RxJava,RxAndroid,底层对线程池的封装管理特别值得参考
03.那些地方使用线程池
- 关于线程池,线程,多线程的具体内容
- 该项目中哪里用到频繁new Thread
- 保存图片[注意,尤其是大图和多图场景下注意耗时太久];某些页面从数据库查询数据;设置中心清除图片,视频,下载文件,日志,系统缓存等缓存内容
- 使用线程池管理库好处,比如保存图片,耗时操作放到子线程中,处理过程中,可以检测到执行开始,异常,成功,失败等多种状态。
- 该项目中哪里用到频繁new Thread