当前位置:   article > 正文

AOP埋点从入门到放弃_aop 埋点

aop 埋点

今天老大跑过来说项目埋点了解一下!丢下了这句话之后,就没有之后了!剩下我一个人在风中凌乱!!!

 

其实这个需求老大在很久之前就说要开发了,后来就搁置了!但是今天看老大的态度,应该排到日程了!所以没办法只有硬着头皮磕了!免得过一阵子加班到很晚,所以趁着时间宽松,先能把踩的坑踩踩!!!分享给大家,也让大家能避免一些不必要的时间浪费。更好的过个周末,陪陪女盆友!!!


特别声明:

感谢JavaNoober提出的问题!

问题是这样的?如果release的话,AspectJ失效怎么办?

当时真的给我问懵逼了,这种查,这种百度,都解决不了!最后还是请教了大神才解决的!!!

首先自己真的不了解配置这段代码的含义,所以产生了相应的问题,特别感谢您的指出。

  1. if (!variant.buildType.isDebuggable()) {
  2. log.debug("Skipping non-debuggable build type '${variant.buildType.name}'.")
  3. return
  4. }

这段代码的含义是在Debug的时候才执行的,如果不是Debug会直接返回的,所以呢?在你打release的时候,当然失效了。都return了!!!只要把这段代码去掉就可以了。


本系列文章知识点:

  • 项目中埋点的需求分析
  • AOP思想的应用
  • AspectJ怎么集成到项目中(难点1)
  • AspectJ中的一些知识点说明(难点2)
  • AOP在项目中的应用等...

出于可读性考虑,我准备把这个系列分成几部分去写,因为这样才能充分利用你的碎片时间,能让你在碎片化中学习一个知识点。

第一篇文章主要讲解关于AOP中埋点的概念和相应的集成;
第二篇文章主要讲解关于AspectJ中用到的一些知识点;
第三篇文章主要讲解关于AspectJ在项目的其他一些应用。

1.项目中埋点的需求分析

1.1 首先先给菜鸟们科普一下什么叫做埋点

所谓 埋点 ,百度百科是这么说的!其实说简单点,就是我在APP中都做了什么事情,让你们运营的知道,其实想想挺可怕的,这我要是出去浪,媳妇就知道了!!!明白了吧,你的一切行为都在掌控之中,用来生成人物画像什么的。。。一堆乱七八糟的!那么我们程序员要做什么呢?像什么统计时长了,点击了什么按钮了,常去什么页面了等...好吧!剩下的就看你们运营需要什么了,就科普到这里吧!

1.2 常见的埋点方案

我整理了相应内容,我发现其实埋点可以分为:

  • 服务器层面的:主要是通过APP端的请求进行分析
  • APP层面的:通过埋点进行相应的分析

作为一个移动端的猿,理所应当的从APP层面去分析相应的实现,现在在APP端的实现基本上分为以下几种

  • 代码埋点:在需要的地方添加相应的代码,可谓是那里需要写哪里!!!但是缺点同时体现出来了,那就是代码量会成吨的输出,如果有一天你们项目经理跑过来改了某一个需求,代码更是成吨的增长,那个时候你会像"平安的程序员一样"奋起反抗的!!!
  • 自动化埋点:通过一些特殊手段(相应的切面编程AOP思想,这个也是本文要说的重点!!!),对相应的方法进行统计!
  • 第三方实现 现在很多第三方都有,百度、友盟等...只要按照说明文档就可以了!

其实从程序员角度分析的话,无非就是代码写得多少的事情吗?往往许多内容都这能用这个东西衡量的,所以没有实现不了的,大不了我就多写点代码呗!但是为了让你成为一名有逼格的程序猿,总是要学点什么的!!!

2. AOP思想的应用

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号