美文网首页
ButterKnife编译期注解,欲罢不能的背后写手

ButterKnife编译期注解,欲罢不能的背后写手

作者: Ahwind | 来源:发表于2019-05-14 22:59 被阅读0次

    黄油刀是控件注入框架,可以帮助安卓开发者省去初始化控件的重复性工作,简单快捷的初始化布局文件中的控件,极大的提升开发效率。
    https://github.com/JakeWharton/butterknife
    ButterKnife的优势
    强大的View绑定和Click事件处理能力,简化代码,提升开发效率
    方便的处理Adapter里的ViewHolder绑定问题
    运行时不会影响APP效率,使用配置方便
    代码清晰,可读性强

    和IoC结构的区别
    共同特点:同样实现了解耦的目的
    核心技术:运行时通过反射技术(reflect) VS 注解处理器技术APT
    开发使用:两者几乎一样,傻傻分不清楚
    代码难易:Ioc编程更具挑战性
    程序稳定:两者暂未发现致命的缺陷
    两者缺陷:reflect会消耗一定性能,APT会增加apk大小
    开发追求:更偏向编译期的APT技术

    getEnclosedElements() 返回该元素直接包含的子元素
    getEnclosingElement() 返回包含该element的父element,与上一个方法相反
    getKind() 返回element的类型,判断是哪种element
    getModifiers 获取修饰关键字,如public static final等关键字
    getSimpleName() 获取名字,不带包名
    getQualifiedName() 获取全名,如果是类的话,包含完整的包名路径
    getParameters() 获取方法的参数元素,每个元素是一个VariableElement
    getReturnType() 获取方法元素的返回值
    getConstantValue() 如果属性变量被final修饰,则可以使用该方法获取它的值

    demo:https://github.com/ApeCold/Learn_ButterKnife_Sample

    相关文章

      网友评论

          本文标题:ButterKnife编译期注解,欲罢不能的背后写手

          本文链接:https://www.haomeiwen.com/subject/vvacaqtx.html