原文出处:http://blog.csdn.net/wxy318/article/details/52463998

近日,Google正式发布更新了Android Support Library Revision 24.2.0 版本。这次更新绝对满足了每一位 Android Developer 的胃口,亦枫也是第一时间整理,翻译学习,记录于此,快来看看都有哪些变化吧。

值得注意的是,24.2.0版本的Support包不再支持Android 2.2(API Level 8)以及更低版本,而之前仅存在于这些系统的classes和methods已经被标记为deprecated(废弃)并且不应该再被使用了,他们可能会被移除并且以一个新的特性出现在新版本中。

v4 包的分割

新版Support包中,之前广为人知的大而全的v4包将被分割成几个更小的包,分别为:

包名 说明
support-compat New Framework APIs的兼容包,比如 Context.getDrawable() 的兼容使用
support-core-utils 工具类的兼容包,比如AsyncTaskLoader 和 PermissionChecker
support-core-ui UI组件的兼容包,常见如ViewPager、NestedScrollView 和 ExploreByTouchHelper
support-media-compat 多媒体框架的兼容包,包括 MediaBrowser 和 MediaSession
support-fragment Fragment框架的兼容包,这个就不用举例说明了,相信每一个人都用过

 
经过这样的分类隔离,以后不会再因为单独使用某一个功能而将整个v4包导入项目中,而是各取所需,大大减小了APK的大小,真是贴心之至啊

API 的更新

  • 客户端可以使用 Custom Tabs 控制 使用打开 Install Apps 功能

  • TextInputLayout 支持密码的显示隐藏控制

  • 新 android.support.transition 包支持 Transitions 框架到 API Level 14以及更高版本

  • Custom Tabs support library 添加支持自定义 RemoteViews 到第二层 Toolbar 上

  • AppCompatResources 通过 getDrawable( ) 方法,添加支持加载 vector (API level 9及更高版本)和 animated-vector(API level 11及更高版本) 资源

  • CoordinatorLayout 支持定义 inset views,并且指定其他 Views 避开这些 inset views 。这个翻译过来有点生涩,如果你知道FloatingActionButton如何在Snackbar展示的时候躲避移动的话,就好理解了,这里就是制定类似的behavior规则,只不过可以适用于其他协调者布局里面的 Children Views 了

  • 新工具类 DiffUtil 能够提供计算两个集合(collections)之间的不同,并且生成适用于 类似RecyclerView的适配器(Adapter)的一系列更新操作的list对象;(有木有感受到一下子少些了很多代码的嗖嗖凉意)

  • 自定义的Behavior新增了 RecyclerView.OnFlingListener 来响应滑动事件

Behavior 的改变

当你使用兼容包中的 day/night 功能时,任何时候的夜间模式的改变都会导致系统自动重新创建Activity。导致夜间模式切换的原因可能是一天中时间的变化,也可能是程序执行了 AppCompatDelegate.setLocalNightMode() 方法

状态栏如果是半透明的话,Snackbar 将绘制显示在导航栏后面

一些废弃 APIs

新版兼容包提出了在未来的版本中即将废弃的一些类和方法,并使用新的 APIs替代,开发者应该尽快适应熟悉这些 APIs

1、以下这些类仅支持 API Level 8 以及更低版本,并且应该使用新的 APIs 替代她们

  • KeyEventCompat: Replace with KeyEvent
  • MotionEventCompat: Use MotionEvent
  • ViewCompat: Use View
  • ViewConfigurationCompat: Use ViewConfiguration

2、AccessibilityServiceInfoCompat.getDescription()方法的废弃

3、你不能再直接实例化 ActivityCompat 类,非静态方法getReferrer(Activity) 将在未来的新版本中改为静态方法

4、CoordinatorLayout.Behavior.isDirty()已经被废弃,所有相关的实现都应该被移除掉

5、MediaSessionCompat.obtain() 已经被废弃,取而代之的方法是 fromMediaSession()

6、MediaSessionCompat.QueueItem.obtain() 已经被废弃,取而代之的方法是 fromQueueItem()

7、以下抽象类已经被废弃,并且使用了接口类取而代之

  • AccessibilityManagerCompat.AccessibilityStateChangeListenerCompat:替代接口类为 AccessibilityManagerCompat.AccessibilityStateChangeListener

  • SearchViewCompat.OnCloseListenerCompat:替代接口类为 earchViewCompat.OnCloseListener

  • SearchViewCompat.OnQueryTextListenerCompat:替代接口类为 SearchViewCompat.OnQueryTextListener

  • SearchViewCompat.OnQueryTextListenerCompat:替代接口类为:SearchViewCompat.OnQueryTextListener
    8、CustomTabsSession.setToolbarItem() 已经被废弃,取而代之的是 setSecondaryToolbarViews()

Bug 修复

以下几天已知的问题已经在新发布的24.2.0版本中修复:

  • AOSP issue 77712:确保调用 setRefreshing(true) 时 SwipeRefreshLayout 的指示器能够得到显示

  • AOSP issue 180454:修复了切换页面时 TabLayout 的闪烁问题

  • AOSP issue 196430:修复了在 API Level 11 及更低版本解析 SavedState 时发生的 ClassNotFoundException 异常问题

完整的 BUG 修复列表可以在 AOSP Issue Tracker 上看到

以上便是 24.2.0 版本的Support包的变化,目前来讲,v4包的分割还是最令人兴奋的,毕竟给APK瘦身是最能够直接体现在用户身上的。当然,其他的一些变化也是值得注意的,毕竟要跟着 Google 的步伐与时俱进嘛!

Android Support Library Revision 24.2.0 官方英文介绍地址(翻墙阅读):
https://developer.android.com/topic/libraries/support-library/revisions.html

Android Support Library 24.2.0 正式发布相关推荐

  1. Android Support Library v4、v7、v13

    一.前言 关于Android Support Library,官网是这样解释的: "Android 支持库提供了诸多未内置于框架的功能.这些库提供向后兼容版本的新功能.框架中未包含的实用 U ...

  2. 如何更新android v7 support library,新手入门之Android Support Library | Soo Smart!

    Support Library 这个支持包是一个一系列代码库,它提供了Android framework APIs的向后兼容的版本以及一些只有通过这个库包API才有的feature特性.每个Suppo ...

  3. Android Support Library的前世今生

    原文出自:http://www.jianshu.com/p/f5f9a4fd22e8 封面 本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 在之前的开发经历中经常需要导入一些如v4 ...

  4. Android Support Library介绍

    一.Android Support Library存在的原因 Android自第一代发布以来,它的版本更新迭代的速度可以说是非常快的,但是android又是一个移动操作系统,是面对所有的用户的,并不是 ...

  5. android suport respository和Android Support Library

    为什么80%的码农都做不了架构师?>>>    参考官网 Note: If you're developing with Android Studio, select and ins ...

  6. 【翻译】Android Support Library Features(二)

    原文地址:http://developer.android.com/tools/support-library/features.html 在Android Support Library包中,包含了 ...

  7. Android Support Library学习入门

    1.Support Library介绍 官方文档上(原文:http://developer.android.com/tools/support-library/index.html)第一句话就指明了S ...

  8. Android Support Library 学习入门

    0. 文前闲话 作为一个由原生桌面应用程序开发者(VC.Delphi)转行的Android菜鸟,虐心的事真是数不胜数:安装个开发工具下载个SDK需要整整一夜:早晨一上班点开Android Studio ...

  9. Android Support library

    1, Android Support V4, V7, V13是什么?本质上就是三个java library.2, 为什么要有support库?如果在低版本Android平台上开发一个应用程序,而应用程 ...

最新文章

  1. 2022-2028年中国氨基酸表面活性剂行业研究及发展前瞻报告
  2. GRE核心词汇助记与精练-List10感觉,感情
  3. 自动装配有哪些局限性?
  4. DNS的一些实际应用(一)
  5. mysql主从同步搭建和故障排除
  6. Debug解决问题方法论
  7. CentOS 下使用yum 命令安装MySQL
  8. MySQL中NOT IN语句对NULL值的处理
  9. 仔仔手机安全卫士demo(四)
  10. Java 操作 EXCEL
  11. 不要效法世界只要爱天父
  12. 测试睡眠质量软件,测睡眠质量的app排行榜:推荐10款有趣又有效的睡眠APP
  13. 境外上市,一个绝非遥不可及的梦想!
  14. 荒野乱斗好友系统分析
  15. 视频教程-必会神器之MySQL数据库-MySQL
  16. 深度强化学习—— 译 Deep Reinforcement Learning(part 0: 目录、简介、背景)
  17. 关于DDK中的编译知识
  18. 青楼残梦-第一次被投诉后感
  19. vue纵向表头通俗易懂
  20. PL/SQL Developer设置日期格式

热门文章

  1. Free_NAS 0.72 安装中
  2. 单行文字压缩处理(要指定字体)
  3. app服务器一种什么样的服务器
  4. sdn和nfv的区别—Vecloud微云
  5. 在Ngnix上部署Flask应用
  6. 使用VS进行远程调试
  7. encryptjs 加密 前端数据(vue 使用 RSA加密、java 后端 RSA解密)
  8. 微信小程序开发——小程序API获取用户位置及异常流处理完整示例
  9. PE格式详细讲解1 - 系统篇01|解密系列
  10. windows 7平台 使用 感言