【AOP】Android 利用AOP打印方法调用链

有时候我们在开发过程中遇到一些疑难问题时,难免需要查看UI交互时,app内都执行了什么方法;或者是在调试生命周期时,一般我们的做法是在对应方法中打印log,用完之后再删掉,很麻烦。

现在我们可以利用AOP来打印所有方法的调用:

对于AOP的配置在此不做赘述,只讲切点。

    /**
     * 需要查看方法调用时 可以用这个切点
     */
    @Pointcut("execution(* *..*.*(..))")
    public void allMethod() {

    }

    @Around("allMethod()")
    public void printAllMethod(ProceedingJoinPoint proceedingJoinPoint) {
        if (proceedingJoinPoint != null) {
            Log.d(TAG, "call method:" + proceedingJoinPoint);
            try {
                proceedingJoinPoint.proceed();
            } catch (Throwable throwable) {
                throwable.printStackTrace();
                Log.d(TAG, "call method error:", throwable);
            }
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容