Android L面世之后,Google就推荐在开发项目中使用RecyclerView来取代ListView,因为RecyclerView的灵活性跟性能都要比ListView更强,但是,带来的问题也不少,比如:列表分割线都要开发者自己控制,再者,RecyclerView的测量与布局的逻辑都委托给了自己LayoutManager来处理,如果需要对RecyclerView进行改造,相应的也要对其LayoutManager进行定制。本文主要就以以下场景给出RecyclerView使用参考:
Google从4.3开始就试图引入AppOpsManager动态权限管理模型,但是,由于感觉技术不太成熟,在Release版本中,这个功能都是被隐藏掉的,所以官方Rom一直没有动态权限管理机制。直到Android6.0,为了简化安装流程且方便用户控制权限,Google正式推出了runtime permission机制,至此,Android才算有了一套成熟的动态权限管理机制。正如我们看到的,在MarshMallow之前,所有的权限都是在安装的时候授予,而在6.0之后,允许用户在运行的时候动态控制权限。
6.0之前Android的权限都是在安装的时候授予的,6.0之后,为了简化安装流程,并且方便用户控制权限,Android允许在运行的时候动态控制权限,即有些权限需要在使用到的时候动态申请,根据用户的选择需要有不同的处理.对于开发而言就是将targetSdkVersion设置为23,当运行在Android 6.0 +的手机上时,就会调用6.0相关的API,达到动态控制权限的目的。但是,如果仅仅是将targetSdkVersion设置为23,而在代码层面没有针对Android 6.0做适配,就可能在申请系统服务的时候,由于权限不足,引发崩溃。具体表现可以看下图:
ANR会影响系统整体运行吗? 需要额外处理????
一、FragmentTabHost+Fragment
Android进程类型
wait()与notify()/notifyAll()
自定义控件的几个问题