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()));
}
});