Android UI控件大全

关注这个github即可,各种UI控件库

awesome-android-ui

Java中内部类的内存泄露问题

    Java中内部类使用方便,但是在使用过程中,也会存在比较隐蔽的风险,以下介绍下Java内部类中可能存在的内存泄露问题。

Android动画执行过程源码分析

以下是Android Animation的动画的完整流程。源码参考的是Android5.0。

  1. View.startAnimation
public void startAnimation(Animation animation) {
    animation.setStartTime(Animation.START_ON_FIRST_FRAME);
    setAnimation(animation);
    invalidateParentCaches();
    invalidate(true);
}

setAnimation 将mCurrentAnimation设置为当前要执行的animation invalidateParentCaches将当前view的mParent的flag设为 PFLAG_INVALIDATED 然后调用invalidate,同时参数为true,使当前view的缓存失效。

Android中使用IconFont代替icon,减小app体积

       现在网页中使用IconFont已经开始流行,比如新版的淘宝首页,以及36kr等。使用IconFont的好处是可以大量节省资源,同时可以无损缩放,web中减少图片请求。缺点是由于和文字一样,只支持纯色或渐变色,所以颜色上比较单一。 其实在App开发中同样可以使用IconFont,尤其Win8推出后开始刮起的“扁平风”,对于一些icon,完全可以使用纯色的IconFont代替。