1. 通用RecyclerView的ItemDecoration及全展开RecyclerView的实现

    Android L面世之后,Google就推荐在开发项目中使用RecyclerView来取代ListView,因为RecyclerView的灵活性跟性能都要比ListView更强,但是,带来的问题也不少,比如:列表分割线都要开发者自己控制,再者,RecyclerView的测量与布局的逻辑都委托给了自己LayoutManager来处理,如果需要对RecyclerView进行改造,相应的也要对其LayoutManager进行定制。本文主要就以以下场景给出RecyclerView使用参考:

    2016/12/04 Android

  2. Android动态权限管理原理(含6.0)

    Google从4.3开始就试图引入AppOpsManager动态权限管理模型,但是,由于感觉技术不太成熟,在Release版本中,这个功能都是被隐藏掉的,所以官方Rom一直没有动态权限管理机制。直到Android6.0,为了简化安装流程且方便用户控制权限,Google正式推出了runtime permission机制,至此,Android才算有了一套成熟的动态权限管理机制。正如我们看到的,在MarshMallow之前,所有的权限都是在安装的时候授予,而在6.0之后,允许用户在运行的时候动态控制权限。

    2016/12/01 Android

  3. Android 6.0权限适配

    6.0之前Android的权限都是在安装的时候授予的,6.0之后,为了简化安装流程,并且方便用户控制权限,Android允许在运行的时候动态控制权限,即有些权限需要在使用到的时候动态申请,根据用户的选择需要有不同的处理.对于开发而言就是将targetSdkVersion设置为23,当运行在Android 6.0 +的手机上时,就会调用6.0相关的API,达到动态控制权限的目的。但是,如果仅仅是将targetSdkVersion设置为23,而在代码层面没有针对Android 6.0做适配,就可能在申请系统服务的时候,由于权限不足,引发崩溃。具体表现可以看下图:

    2016/11/11 Android

  4. ANR原理分析

    ANR会影响系统整体运行吗? 需要额外处理????

    2016/09/20 Android

  5. 常用的主界面框架及问题

    一、FragmentTabHost+Fragment

    2016/06/29 Android

  6. Android App启动分析

    Android进程类型

    2016/05/04 Android

  7. Java线程通信

    wait()与notify()/notifyAll()

    2016/03/28 Java

  8. MeasureSpec与View定制

    自定义控件的几个问题

    2016/03/23 Android