注解-编译期AOP-注解基础
0x00 概述本文主要是介绍注解的基础知识,为后面的APT和JavaPoet打下基础
0x01 什么是注解注解(Annotation)是Java5的一个新特性,是插入在代码中的一种注释或者说是一种元数据(meta data),这些注释信息可以在编译期使用预编译工具进行获取处理,也可以在运行期使用Java反射机制来获取,这取决于你的注解类型。
0x02 注解的语法及其定义在Android中注解经常存 ...
自定义Lint
Lint在android studio中内置了大概200个左右的lint检查,比如定义变量未使用,直接Handler报内存泄漏提醒,时时刻刻在监督着我们的代码。自己定制了一些Lint规则,项目开源在GitHub上https://github.com/xsfelvis/LintDemo
为什么需要自定义Lint
原生Lint无法满足团队特有的需求,如:编码规范
原生Lint存在一些检测缺陷或者缺少 ...
粒子动画效果
粒子效果动画看了几个开源库,自己在学习过程中重构了一个供自己以后使用
源码地址:https://github.com/xsfelvis/Explosion
效果图:
动图请查看https://gitee.com/xsfdev/imgsrc/raw/master/particle.gif
简介提供了6中粒子动画效果,框架支持扩展,若有新的粒子需求可以继承Particle实现自己的需求,整体框架 ...
设计模式概览
0x00 概述本文主要介绍设计模式的六大原则,这是学习设计模式的总纲。
设计模式其实是一套被反复使用、总结出来的代码设计经验的总结,使用设计模式是为了重用代码,让代码更加容易的被他人理解,保证代码的可靠性。在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名为 Design Patterns - ...
FragmentStudy
介绍
fragment 必须始终嵌入在Actvity中,其生命周期直接受宿主Activity生命周期影响, 例如,当 Activity 暂停时,其中的所有片段也会暂停;当 Activity 被销毁时,所有片段也会被销毁。 不过,当 Activity 正在运行(处于已恢复生命周期状态)时,您可以独立操纵每个片段,如添加或移除它们。
不过,片段并非必须成为 Activity 布局的一部分;您还可以将没 ...
认识Smali
什么是smaliSmali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能,当我们对apk反编译之后,便会生成此类文件,其中在dalvik字节码中,寄存器都是32位的,可以支持任何类型,64位类型要用2个寄存器表示,其中Dalvik字节 ...
FragmentTransactions导致的ActivityStateLoss
一个异常堆栈下面所示的异常堆栈追踪在Honeycomb最早版本就一直在出现在StackOverflow上,困扰着诸多开发者
`java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.chec ...








