注解(1)-- 什么是注解

作为一个Android程序员,注解(Annotation)会是一个让我们事半功倍的一个开发利器,它可以简化代码(如ButterKnife),可以约束输入条件(如support-annotations),可以将输入条件改为配置(如Retrofit 2.0)等,就让我们开下注解在注解在Android开发中是怎么使用。

阅读全文

【Android进阶】Android动态加载so文件

随着业务的增大,我们的业务代码也随之增多,包的大小是有增无减,所以适当的时候思考下:怎么做减法–减小包的体积。

结合最近在做的公司的项目,觉得动态加载so文件是一个很好精简apk包的方法。举个例子,视频播放器的SDK(如IJKplayer,VLC player),他们的各种视频的解码器一般都是通过C/C++编译的so文件,这些so文件其实都不小,这样导致我们从市场上下载的apk包很大,所以能不能让so文件不随apk一起发布呢,而是按需下载(只有当需要播放视频时才去服务器下载,然后再在本地load)。

阅读全文

Robust热修复-使用和项目介绍

Robust是美团推出的一款热修复框架,我记的之前我们分享过一篇热修复之美团方案,看完这篇文章就动手写了个Demo版项目。果然等了不久,今年三月份美团将已经趋向于稳定的Robust开源,在Andoid开发界也是一致好评。

后面会陆续放出Robust热修复的代码分析。
作为开篇第一篇,这篇文章会介绍怎么使用,使用中需要注意的问题和以及Robust项目介绍。

阅读全文

【Android】状态栏颜色的适配

最近一直忙着写业务,一直没精力更新博客,趁着最近有点空闲事件,觉得很有必要写一篇博客捡回以前的那个状态。就写一个自己当时总结的一个适配功能吧:关于状态栏的字体/图标颜色适配。

随着Android6.0 Android7.0系统的系统升级,开发者来说适配的容易程度越来越低,我们需要将精力放到适配4.4+以上,而Android4.4相对来说是一个比较稳定的版本,尤其是在UI上它又和Android 6.0、Android7.0接近。

阅读全文

Classloader源码探究

Java中的所有的java都需要先编译成class文件,再通过类加载器来加载class,在前几篇的热修复的文章都提到了ClassLoader,趁着周末就写了这篇关于Java ClassLoader的文章,希望能对热修复的相关的知识进行补充。为了更好查看源码,本文是基于Java 7的源码来分析的,如有不正取请扔砖告知。

阅读全文

热修复之美团方案

最近在研究热修复的一些框架,发现目前市面上有很多的热修复的一些思想和框架,有腾讯、阿里、美团等大型APP一些实践过的,有为我们大家扩展思路的Demo,但是这些热修复技术的活跃而蓬勃发展,让我们有更多的选择。

阅读全文

Android热修复--实现原理

关于热修复其实很早都想动手写,不过由于没研究过具体的实践,不敢乱谈。
那么何为热修复呢?所谓热修复,无非是线上出了bug,开发人员可以发补丁,应用程序默默下载好对应问题的补丁,修复这个bug。这种热修复其实很适合client-server的模式,当然了客户端肯定也是适用的。

阅读全文

Android下多彩的StatusView的实现

在上一个博文 Anroid沉浸式状态栏中提到了,画了一个图,这个图简单将我们的状态栏分为不同的2个维度来看状态栏。其中涉及的概念我不在赘诉,请返到Anroid沉浸式状态栏再去认识下这几个概念。本文中提到的[上节]就是Anroid沉浸式状态栏这篇文章。**

阅读全文

Gitflow工作流

现在的版本控制越来越重要,还记得毕业那会写毕业设计一个个版本,搞得头昏脑涨,不过当时已经接触了版本迭代在自己的机器上部署了一个SVN Server,用程序员的方式轻松解决一个个版本。

毕业设计

阅读全文

Anroid沉浸式状态栏

Metarial Design是2014年Google IO中Google重点提到的一个点,在过去的两年时光里,越来越多的公司已经认可了MD设计规范。在dribbble上可以看到,越来越多的设计师开始投入到MD设计实践中,MD设计规范终于有底气可以和IOS的设计规范对抗啦!!!Android程序员可以很叫嚣滴告诉设计师这就是Android的设计规范。

阅读全文