Android Studio启用新代号,新版本Arctic Fox(白狐)重点新特性一览!_依然范特稀西的博客-程序员秘密

技术标签: java  原创博客  android  android studio  kotlin  

目录

Android Studio 新的版本命名规则

Arctic Fox 有哪些新特性?

总结


对于Android开发者来说,Android Studio 是我们首选的开发工具,它基于强大的IntelliJ IDEA 开发而来,因此继承了IDEA的很多优点,同时也增加了Android开发的一些插件和特性,为我们Android 程序开发带来了便利。目前Android Studio 的最新稳定版本为4.1,4.2版本也已经发布到Beta渠道。但是4.2 版本将会是Android Studio 数字命名的最后一个版本了,此后,Google 将采用新的命名规则来为Android Studio 命名。新版本第一个版本为Android Studio Arctic Fox  (2020.3.1) ,目前,Android Studio Artic Fox 已经登陆Canary频道,迭代至Canary3版本。

 

Android Studio 新的版本命名规则

 

2020年12月,Google在其博客平台宣布,Android Studio 将采用新的命名规则,从Arctic Fox(2020.3.1)开始,新的Android Studio版本号将以年份为基础,Android Studio 版本号方案将采用以下模式 :

 

<Year of IntelliJ Version>.<IntelliJ major version>.<Studio major version>.<Studio minor/patch version>

 

  • 前两组数字代表发布的Android Studio 是基于 IntelliJ IDEA 平台的哪个版本,比如,对于更名后的第一个版本,它是:2020.3
  • 第三组数字代表 Studio 主版本,从 1 开始,每个主版本递增 1;
  • 第四个数字组代表Studio次要版本/补丁程序版本,从1开始,每个次要版本递增1。
  • 为便于引用每个版本,我们还为主版本提供了一个代号,根据动物名称从 A 到 Z 递增。新发布的初始版名为 Arctic Fox。

 

 

如果沿用以前的编号系统,则此版本将为 Android Studio 4.3。现在,新版编号系统将其命名为 Android Studio Arctic Fox (2020.3.1) Canary 1,或简称为 Arctic Fox。

 

image.png

 

为什么要更改命名方案呢?

 

官方给出了如下理由:

 

  • 1、新命名更加符合IntelliJ IDEA 的命名规范,与IntelliJ IDEA 对齐。
  • 2、新命名给开发者带来了更多的可见性,比如我们能明确知道是该Relsease版本是基于哪个IDEA 版本

 

image.png

 

Android Gradle 插件的新版本编号方案

除了Android Studio 命名规则更改之外,Android Gradle Plugin 也更改了命名,Grandle Plugin最新的release版本是4.1,在4.2之后,就直接来到 AGP 7.0.0 。

 

众所周知,Gradle插件的版本一直以来都是与AS的版本保持一致的,本次更改会将AGP的版本与Android Studio 的版本变化解耦,Gradle 版本不再跟随Android Studio的主版本变化和发版节奏。在AGP7.0之后,Gradle将会推出自己的年度主要版本,每年发布一个主要版本。

 

AGP7.0中,采用了语义化版本的原则,并与 AGP 所需的 Gradle 版本保持一致。Android Studio 和 Android Gradle 插件之间的兼容性不会更改。使开发者可以使用更新版本的 Android Studio 打开使用稳定版 AGP 的项目。

 

关于APG7.0的完整介绍,可以看一下官方发布的这篇介绍博客:https://android-developers.googleblog.com/2020/12/announcing-android-gradle-plugin.html

 

Arctic Fox 有哪些新特性?

 

1、Data binding 支持 StateFlow

 

对于使用协程的Kotlin APP ,现在可以将StateFlow对象用作数据绑定源,以将数据更改自动通知UI。你的数据绑定将具有生命周期感知,并且仅在屏幕上显示UI时才会触发。

 

要将StateFlow对象与绑定类一起使用,你需要指定一个Lifecycle owner来定义StateFlow对象的范围,然后在布局中,使用绑定表达式将ViewModel组件的属性和方法分配给相应的视图,如以下示例所示:

 

class ViewModel() {
   val username: StateFlow<String>
}

<TextView
    android:id="@+id/name"
    android:text="@{viewmodel.username}" />

如果你使用了Androidx,那么StateFlow 将会自动包含在data binding 功能中,包括协程的依赖。

 

2、新的WorkManager检查器

 

在以前的Android Studio版本中,我们介绍过一个Database Inspector,它主要用来帮助开发者理解和调试数据库,Database Inspector是基于一个APP Inspector 系统开发的,它支持很多不同的Inspector类型,比如下面介绍的WorkManager Inspector。

 

在Arctic Fox  Canary3或更高版本,你可以使用WorkManager Inspector功能,当你使用workmanger 库的2.5.0-beta2以及更高版本时,你可以使用 WorkManager检查器 ,他可以帮你检测、调试、可视化你App中的后台任务。

 

image.png

 

然后,您可以从表中选择一个任务,以查看更多详细信息,例如对该任务的描述,其执行方式,其工作程序链的详细信息以及该任务的执行结果。

 

image.png

 

如果要查看任务链的可视化图形,可以在任务表中选择一个任务,然后在工具栏点击Show Graph View,然后你可以选择该链中的任何一个任务来查看详情或者停止。

 

image.png

 

3、Jetpack Compose工具支持

 

Android Studio Arctic Fox 增加了对Jetapck Compose 预览和测试的支持。

 

预览:

 

image.png

 

预览方法@Preview 增加了一下几个参数:

 

  • showBackground: 选择打开/关闭背景进行预览
  • backgroundColor: 设置一个背景色,只在预览时起作用
  • 此新参数可以采用任何Configuration.UI_ *常量,并允许你将预览的行为更改为:夜间模式,以查看主题的反应。

 

发布到设备预览:

 

使用此功能可以将UI片段部署到设备。这将有助于在设备中测试代码的一小部分,而无需启动完整的应用程序。

 

image

 

4、Layout Validation Tool

 

Arctic Fox 中新的布局验证工具 (Layout Validation Tool),可以使你查看你的布局在各种屏幕尺寸、字体大小和 Android 色彩校正 / 色盲模式下的响应效果。您可以在使用布局编辑器时通过 Layout Validation 工具窗口体验这个功能。

 

image

 

5、ADB 无线调试功能

 

对于在 macOS (即将支持其他平台) 下运行最新版 Android Platform 工具以及使用 Android 11 设备的用户,你可以前往 Run (运行) 按钮的设备选择对话框 → Pair Devices Using Wi-Fi 来尝试 IDE 中集成的 ADB 无线调试功能。

image.png

无线ADB设置窗口界面:

image.png

 

6、Accessibility Scanner for Layout Editor

 

Android Studio现在与Android可访问性测试框架集成,可帮助你在布局中查找可访问性问题。当你使用Layout Editor 时,点击Accessibility Scanner按钮开启扫描,该工具还提供了一些常见问题(如缺少内容说明)的修复建议。

 

Accessibility Scanner 从Canary8开始可用

 

image.png

 

总结

 

以上就是本文的全部内容,包括,Android Studio 的新命名方案,AGP新的版本管理方案和Android Studio Arctic Fox 的一些新特性,该版本现在还在Canary渠道,距离正式版还有一些距离,本文介绍的新特性也是目前官方博客所透露出的一些新的功能和特性,最终版本可能还会有一些变化,大家如果关注新版本的变化的话,可以看看Android Studio 的Preview Note,里面有Canary、Beta 等版本的功能增加和bug fix,地址:https://androidstudio.googleblog.com/2020/12/android-studio-arctic-fox-canary-3.html

 

关于新版AS的命名的问题,每个人都有不同的看法吧。其实数字命名还更简单一点,至于google说的开发者可见性,开发者并不是很关心,你们会关心新的AS版本是基于哪个IntelliJ IDEA 版本开发的吗?不过有趣的一点是新代号,第一个版本的代号为Arctic Fox (白狐),后面的版本代号从A-Z的动物命名,第二个版本不会叫棕熊(brown bear)吧?Android 传统的猜名游戏又回来了。还记得以前每届Google IO之前,猜Android 系统会以哪个甜点名为代号,这个传统在去年Android 10 的时候,被废除了 。现在,一切又都回来了。

我是西哥,更多Android原创文章,请关注公众号「技术最TOP」

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zwluoyuxi/article/details/112912410

智能推荐

如何用控制台访问HBase开源组件?_hbase管理台_云使者的博客-程序员秘密

今天介绍如何通过控制台来访问HBase产品的一些开源软件界面,比如说原生HBase的一些界面。来到HBase产品控制台。看到已经有一个运行中的HBase了,点击管理。先修改一下产品的网络白名单。将当前的公网访问IP复制到网络访问白名单中来,点击确认。由于之前没有设置过访问密码,这里需要重置软件访问密码。设置完之后,就可以点击HBase的开源链接进行访问了。输入刚才设置的密码...

windows虚拟机下运行树莓派OS的尝试_电脑安装树莓派os pc_我不管反正我最帅的博客-程序员秘密

windows虚拟机下运行树莓派OS的尝试一、目的二、思路三、下载系统四、启动windows自带的虚拟机五、启动虚拟机烧入镜像六、点赞一、目的最近在用树莓派制作项目,然后想在windows电脑下运行这个系统,体验里面的部分功能。二、思路1.既然树莓派有自己的系统就先下载下来镜像2.用windows里面的虚拟机来进行运行三、下载系统进入官网的软件 下载网址.下载树莓派镜像 for windows进行下载(大概几分钟)四、启动windows自带的虚拟机找到控制面板–》程序–》

2013年国家计算机等级考试c语言考试真题,2013年3月计算机等级考试二级C语言真题及答案.doc..._weixin_39827775的博客-程序员秘密

2013年3月计算机等级考试二级C语言真题及答案2013年3月计算机等级考试二级C语言真题及答案一、选择题  (1)下列叙述中正确的是  A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为n  B)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)  C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)  D)对长度为n的有序链表进行对分查找...

python不定长参数_python函数不定长参数用法_weixin_39718521的博客-程序员秘密

pathon中的函数可以使用不定长参数,可以用参数*args接收单个出现的参数,接收后存成一个元组;用**kwargs接收以键值对形式出现的参数,接收后存丰一个字典.下面的小程序能说明这个问题代码如下:def print_info(*args,**kwargs):for i in args:print(i)for i in kwargs:print("%s:%s" %(i,kwargs[i]))p...

Python初体验:python程序获取bash脚本中某个变量的值_HappyMrSpring的博客-程序员秘密

1. 需求:python程序获取bash脚本中某个变量的值。2. 实现:2.1 ./version-gen-bypass.sh脚本将变量值输出到文件./.verno中。2.2 通过python文件IO获取./.verno中的变量值。此时line6中的pVERNO字符串变量中含有换行符'\n'。2.3 通过line10和line11将获取到的字符串首先转换为整数,然后将整数转换为字符串,目的是去掉换...

JAVA开发工程师SpringMVC面试题_springfect_☆宁的博客-程序员秘密

文章目录SpringMVCMybatis一、MyBatis是什么?二、JDBC 的缺点?三、什么是ORM?四、MyBatis与 Hibernate 的比较?五、MyBatis核心API?六、#{ } 和 ${ }的区别七、当实体类中的属性名和表中的字段名不一样 ,怎么办 ??八、 模糊查询like语句该怎么写?九、基于Mybatis 的Dao 层设计?十、Mapper 动态代理规范?十一、Mapper 动态代理模式下的多参数处理?十二、Mybatis 的分页查询?十三、主键值回填?十四、动态SQL以及标签?

随便推点

java设计计算器_Java复数计算器的设计_囡宝宝的博客-程序员秘密

一实现一个复数计算器要求:能够计算复数的加、减、乘、除。例如:输入操作数2+3i和操作数-7-6i,选择加法运算,得到结果-5-3i。提示:(1)要分析输入数据,得到实部和虚部,并注意符号。二采用的相关技术1事件处理在Java开发中,对于事件的处理非常重要,比如响应键盘的输入、鼠标的点击、窗口的移等等都要涉及到Java事件的应用。Java事件由事件类和监听接口组成,自定义一个事件前,必须提供一个事...

anaconda 安装 sklearn 报错_anaconda内安装sklean报错_vinson-zh的博客-程序员秘密

from . import _arpack ImportError: DLL load failed: 找不到指定的程序。通过分析应该,还是版本不兼容的问题,经过尝试,可以安装 1.5.1 版本的scipy能解决该问题但是,anaconda上搜不到1.5.1版本的scipy, 则通过pip安装,命令如下:pip install scipy==1.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple...

Linux 内存管理 --- DMA_dma_from_device_「已注销」的博客-程序员秘密

https://blog.csdn.net/jasonchen_gbd/article/details/79462064

http应答 400 Bad Request-因http.header与http.body之间少了空行导致_Victor _Lv的博客-程序员秘密

一、现象:HTTP 报文是自己组装的。当送的 HTTP body 是空的时候能发成功,但是加上了 HTTP body 后会被 Apache以 http 400 bad request 拒绝掉。报文如下:(1)Empty body 时的http请求和应答:POST /internet/TestProxy HTTP/1.1Content-Type: text/xml; charset=utf-8Host: 102.184.80.104:10490Content-Length: 0HTTP/1

ssh服务器传输文件窗口消失,将文件从ssh服务器直接传输到客户端_彼得·克鲁泡特金的博客-程序员秘密

我有一个ssh服务器用于在线存储我的文件。我需要使这些文件可以轻松下载,所以我使用paramiko库连接到ssh服务器(从我的python脚本),然后列出文件并显示在网页上。问题是我不想将文件下载到Web服务器的磁盘(没有足够的空间),然后将它们发送给客户端,而不是像读取文件一样,并吐出它像它可以在PHP中完成。将文件从ssh服务器直接传输到客户端这样的事情在python// your file ...

qt中main函数中的exec()作用总结_a.exec()_hanxp001的博客-程序员秘密

在qt中的main函数中大家总会看到一个exec()函数的调用方式,一般存在于函数的最后一行用来作为返回使用。eg1:int main(int argc,char * argv[]){ QApplication a(argc,argv); MainWindow w; w.show(); return a.exec();}一般看到的都是用来直接在ma...

推荐文章

热门文章

相关标签