欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Android 性能优化-线程优化

程序员文章站 2022-07-02 22:58:10
...

在某一刻,只有一个线程占用一个CPU,处理任务。多线程是多个任务被CPU闪速切换执行任务。
分时调度模式:轮流获取、均分CPU时间。
抢占式调度模型:优先级高的获取

1.HandlerThread

自带消息循环,串行执行,长时间运行,不断获取任务。

https://blog.csdn.net/chentaishan/article/details/118584100

2.IntentSerivice

优先级高,不容易被杀死
https://blog.csdn.net/chentaishan/article/details/104344454

3.AsyncTask

https://blog.csdn.net/chentaishan/article/details/104335445

4.线程池

不做说明,自行查阅

5 Rxjava

待补充

6. 监控创建Thread

监控创建Thread,避免滥用thread。可以使用Hook手段

 DexposedBridge.hookAllConstructors(Thread.class, new XC_MethodHook() {
     @Override
     protected void afterHookedMethod(MethodHookParam param) throws Throwable {
         super.afterHookedMethod(param);
         Thread thread = (Thread) param.thisObject;
         LogUtils.i(thread.getName()+" stack "+Log.getStackTraceString(new Throwable()));
     }
 });