你真的了解Android线程优先级吗?微信卡顿惨案分析

作者:leafjia,腾讯WXG客户端开发工程师

你真的了解Android的线程优先级吗? 看似平平无奇的三行代码却隐藏着巨大的陷阱!
Android上如果在主线程执行下面的代码:
Thread t = new Thread();t.start();t.setPriority(3);我们的预期应该是子线程t的优先级被设置为了低优先级 。
但真正运行后,我们惊奇的发现,不只是子线程t,主线程的优先级同样会被设置为低优先级!事实上,这三行代码甚至导致了Android微信客户端的一次线上故障!这是为什么?背后有怎样秘密?又如何管控和避免?我们来一起深入分析、研究下这个问题 。


    推荐阅读