Android中AOP的应用实践之过滤重复点击-创新互联
前言
成都创新互联专业为企业提供大悟网站建设、大悟做网站、大悟网站设计、大悟网站制作等企业网站建设、网页设计与制作、大悟企业网站模板建站服务,10余年大悟做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。大家对AOP应该都不陌生, 就算没有用过也肯定听说过,切面编程一直是一个热点的话题,AOP即Aspect Oriented Programming的缩写,习惯称为切面编程;与OOP(面向对象编程)万物模块化的思想不同,AOP则是将涉及到众多模块的某一类问题进行统一管理,AOP的优点是将业务逻辑与系统化功能高度解耦,让我们在开发过程中可以只专注于业务逻辑,其他一些系统化功能(如路由、日志、权限控制、拦截器、埋点、事件防抖等)则由AOP统一处理;
AspectJ简介
AOP是一种编程思想,或者说方法论,AspectJ则是专为AOP设计的一种语言,它支持原生的JAVA,可用于在java中处理AOP的相关问题;下面非常简单的描述下AspectJ中几个要点
Join Points
AspectJ中的切点,是AspectJ作用到具体某个位置的说明,主要包括三类:
- 函数(函数调用,函数执行,构造函数等)
- 变量(变量get,变量set等)
- 代码块(静态代码块,for等)
Pointcuts
AspectJ中的切面(这种翻译不一定正确),由点及面,用于说明你需要hook哪一类问题,比如我需要hook所有的Activity的生命周期方法,则:
@Pointcut("execution(* android.app.Activity.on*(..))")
网页标题:Android中AOP的应用实践之过滤重复点击-创新互联
文章分享:http://scyanting.com/article/dshpih.html