[置顶] 团队项目必备神器——自定义Lint

Lint在android studio中内置了大概200个左右的lint检查,比如定义变量未使用,直接Handler报内存泄漏提醒,时时刻刻在监督着我们的代码。自己定制了一些Lint规则,项目开源在GitHub上 https://github.com/xsfelvis/LintDemo 为什么需要自定义Lint原生Lint无法满足团队特有的需求,如:编码规范 原生Lint存在一些检测缺陷或者缺...
阅读(942) 评论(9)

[置顶] MaterialDesign学习项目

概述该项目主要用来学习Material Design Support Library和一些android其他技术,也借鉴了网上一些其他优秀的学习资源。该项目目前主要分为俩大部分(后期可能会有一些增加): 解析干货集中营的开放API,实现一个简单的干货客户端 随时随地掌握技术最新动态 有趣的搞笑图片(尝试了MVP设计框架) 其中分别尝试了不同的实现方式,解析干货集中营时采用了开源库XRecyclerV...
阅读(2684) 评论(2)

[置顶] 网易内推(Android) 拿offer

网易内推(Android) 拿offer...
阅读(3488) 评论(38)

注解库之ButterKnife

butterknife解决的问题项目地址: https://github.com/JakeWharton/butterknife github原文是这样介绍的 Field and method binding for Android views which uses annotation processing to generate boilerplate code for you. 翻译过来就...
阅读(1113) 评论(5)

注解库之Dagger2

Dagger2Step1 使用0x00 Dagger2介绍 Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier versioncreated by Square and now maint...
阅读(232) 评论(1)

Lottie的使用及原理浅析

lottie项目地址: https://github.com/xsfelvis/lottie-androidLottie支持Jellybean (API 16)及以上的系统什么是lottie?Airbnb最近开源了一个名叫Lottie的动画库,它能够同时支持iOS,Android与ReactNative的开发,使用流程如下图所示如图所示,通过安装AE上的bodymovin的插件,能够将AE中的动画工...
阅读(2482) 评论(2)

JNI两种注册过程实战

JNI系列JNI两种注册过程实战深入理解JNI概述Android OS加载JNI Lib的方法有两种 - JNI_OnLoad(动态注册) - 如果JNI Lib实现中没有定义JNI_OnLoad,则dvm调用dvm ResolveNativeMethod进行动态解析(静态注册) 因此,当 java 通过 System.loadLibrary 加载完 JNI 动态库后,紧接着会调用 JNI_O...
阅读(1024) 评论(6)

AS gradle 编译引起的bug

问题描述引起原因由于某些原因导致垃圾回收器,每次花费了大量的时间(by default 98% of all CPU time of the process),仅仅恢复了一点点内存(by default 2% of the heap),这个异常有效的提醒你,你的程序此时正停止了其他事情而仅仅忙于垃圾处理,为了防止你的应用榨干整个CPU而做不了其他事情,此时JVM虚拟机就会抛出这个异常 可能出现的...
阅读(945) 评论(0)

ListView嵌套ViewPager+Fragment引起的Bug

发现问题之前发现过一次,情景一样,当时是将ListView替换为LinearLayout然后动态添加view解决,这次又发现这个问题,感觉得从根本上找出原因所在,毕竟listview嵌套多层viewpager+fragment场景还是存在很多的(如资产详情带图表切换),报的crash分析问题定位问题根据报错日志No view found for id 0x7f0f03f8定位源码位置Fragment...
阅读(2627) 评论(0)

Andfix学习记录

概述篇AndFix,全称是Android hot-fix。是阿里开源的一个热补丁框架,允许APP在不重新发布版本的情况下修复线上的bug。支持Android 2.3 到 7.0,并且支持arm 与 X86系统架构的设备。完美支持Dalvik与ART的Runtime,补丁文件是以 .apatch 结尾的文件,并且是立即生效的项目地址https://github.com/alibaba/AndFix官方...
阅读(1841) 评论(0)

注解基础

0x00 概述本文主要是介绍注解的基础知识,为后面的APT和JavaPoet打下基础0x01 什么是注解注解(Annotation)是Java5的一个新特性,是插入在代码中的一种注释或者说是一种元数据(meta data),这些注释信息可以在编译期使用预编译工具进行获取处理,也可以在运行期使用Java反射机制来获取,这取决于你的注解类型。0x02 注解的语法及其定义在Android中注解经常存在我们...
阅读(976) 评论(0)

编译期注解之JavaPoet

0x00 概述上一篇限于篇幅只介绍了APT,这篇来继续介绍javapoet,是square公司的开源库。正如其名,java诗人,通过注解来生成java源文件,通常要使用javapoet这个库与Filer配合使用。主要和注解配合用来干掉那些重复的模板代码(如butterknife 和databinding所做的事情),当然你也可以使用这个技术让你的代码更加的炫酷。0x01 简单使用使用之前要先引入这...
阅读(1354) 评论(0)

编译期注解之APT

0x00 概述前一篇介绍了注解的基本知识以及常见用法,由于运行期(RunTime)利用反射去获取信息还是比较损耗性能的,本篇将介绍一种使用注解更加优雅的方式,编译期(Compile time)注解,以及处理编译期注解的手段APT和Javapoet,限于篇幅,本篇着重介绍APT 首先你的注解需要声明为CLASS @Retention(RetentionPolicy.CLASS) 编译期解析注解基...
阅读(1101) 评论(0)
162条 共17页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:230057次
    • 积分:3639
    • 等级:
    • 排名:第8955名
    • 原创:156篇
    • 转载:5篇
    • 译文:1篇
    • 评论:144条
    交流学习
    博客专栏
    最新评论