基础库初始化的时候注入统一线程库

来源:7-6 线程收敛优雅实践初步

我有明珠一颗

2019-10-09

老师是这样的。示例代码中对LogUtils注入了线程库,在写到了

   public static void i(String msg){
        if(Utils.isMainProcess(PerformanceApp.getApplication())){
            Log.i(TAG,msg);
        }
        // 异步
        if(sExecutorService != null){
//            sExecutorService.execute();
        }
    }

请问execute中是不是添加方法i的耗时操作。如果是,那么每个基础库都需要这么写,这样是不是侵入性比较大?另外如果是第三方库,没提供源码的,这种场景下该怎样注入呢?这个地方麻烦说得详细一些,谢谢。

写回答

1回答

随风绽放

2019-10-19

同学你好,对于线程收敛,这种方案其实不算是侵入性比较大,只是让sdk提供一个方法而已。

对于没有提供源码的三方库,可以考虑使用aop进行无感替换,但是为什么不推荐呢,因为线程的使用会比较复杂,应该将使用方式交给使用方。

1
1
我有明珠一颗
非常感谢!
2019-10-21
共1条回复

Top团队大牛带你玩转Android性能分析与优化

由表及里学到国内Top团队对性能问题的体系化解决方案

1696 学习 · 532 问题

查看课程