Android Studio新版本New UI及相关设置丨遥遥领先版
1、前言
俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。
2、关于新版本
2.1、最新正式版本
Android Studio Giraffe | 2022.3.1 Patch 1
Build #AI-223.8836.35.2231.10671973, built on August 17, 2023
正式版2023.08.17还是挺新的。
2.2、版本对应关系
| Android Studio版本 | AGP版本 | API级别上限 |
|---|---|---|
| Android Studio Giraffe | 3.2-8.1 | 33 |
2.3、下载地址
Giraffe:
https://developer.android.google.cn/studio
预览版Hedgehog、Lguana下载:
https://developer.android.google.cn/studio/preview
3、启用New UI
3.1、关于New UI
重新设计的主题旨在降低视觉复杂性,让用户更轻松地使用基本功能,并酌情显示复杂功能,从而打造现代、简洁的外观和风格。
主要更改如下:
- 简化了主工具栏,新增了 VCS、Project 和 Run widget
- 工具窗口采用了新的布局
- 新增了一些浅色主题和深色主题,带有对比鲜明且色调一致的调色板
- 新增了图标集,更易于辨识
简而言之就是四新:新工具栏、新工具窗口、新主题、新图标。
3.2、启用
打开设置,在Appearance & Behavior下有一个New UI的选项,apply and restart 即可体验Android Studio(IntelliJ)的新界面主题。

3.3、新界面主题一览

视觉上,整体的画风变化挺大,主要表现在图标、字体、和颜色上,还有顶部的主菜单栏和左上、左下、右上的工具栏,以及底部的导航栏变化。
3.3.1、顶部主菜单

- 左边第一个是项目名,点击可以切换,比之前方便了。左边第二个是Git Branch,也就是Version Control,把分支和项目放在一起关联起来,这点还是挺人性化的,我很喜欢;
- 中间是devices和run小部件;
- 右边是工程编译+搜索+设置+Account;
看到外网有人说,图标太大,还有“run”那一块的小部件太亮,emmm 我倒觉得整体更清晰了。
3.3.2、工具栏
工具栏(tool windows)有三部分,左上、左下、右上。
左上:

左上是Project+Resource Manager+收起的部分工具
- Project默认是收起的,点击可展开我们的项目文件列表;
- 有些工具默认是收藏在**···**中的,比如我比较喜欢用的 TODO,点击会展开工具窗口,并常驻显示在工具栏;
左下:

左下是之前放在底部的Terminal、Logcat等。
长按图标可以进行拖动排序,也可以随意拖动到左上、左下、右上、右下的工具栏中。
不常用的也可以收起来,右键图标点击Hide,会放到 ··· 中

右上:

这一块主要是device管理、Gradle、三方工具。
还有原来底部的通知挪上来了,不习惯的可以拖到右下角的工具栏去。
3.3.3、导航栏

原先在顶部的导航栏挪到底部来了。
如果你像我一样还会习惯导航栏在顶部的话,可以在View > Appearance > Navigation Bar中进行设置:

3.3.4、紧凑模式
如果你觉得现在的风格图标太大、间隔太大,且使用IntelliJ IDEA开发的话,可以在View > Appearance > Compact Mode中来设置开启或关闭,或者Appearance and Behavior > New UI > enable the Compact mode option。
不过这个设置只在新版的IntelliJ IDEA上有,Android Studio中并没有。
4、编辑器Tab

这一部分文字和间隔都比之前更大了,虽然官方说是「以获得更好的易读性」,但是默认只显示一行的情况下,多点开几个文件就找不到最开始的了,或者不想被回收的文件被回收掉不显示了,这样反而影响效率。
所以我一般会设置成多行的(两行),
Settings > Editor > General > Editor Tabs > Show tabs in > Multiple rows:

5、设置JDK版本
近来不管是升级Android Studio还是AGP,在相互版本约束的情况下,会出现JDK版本限制的问题,又或是新版本默认的JDK 11 导致的编译报错,有时候需要去改一下兼容项目的JDK版本。
Settings > Build,Execution,Deployment > Build Tools > Gradle > Gradle JDK:

6、乱码问题
有时候升级新版本之后,文件里面的中文注释会出现乱码的情况,这时候需要我们手动去修改一下文件编码。
Settings > Editor > File Encodings

别忘了把properties文件的编码格式也设置一下。
7、字体大小
我更新之后感觉整体字体偏小,默认是13,我个人调到15在外接显示器上感觉合适。
字体大小分为两部分,一个是IDE的,一个是代码的。
IDE:
Settings > Appearance & Behavior > Appearance > Font > Size

代码:
Settings > Editor > Font > Size

8、Logcat
Logcat的新变化在Android Studio Dolphin版本就有了,最大的变化莫过于日志的颜色(Scheme)和日志的筛选(Filter)。

8.1、Scheme
日志等级的颜色比以前更清晰更容易区分了,不需要再自定义设置了。
当然如果你想,可以在 Android Studio > Settings > Editor > Color Scheme 中进行设置。
8.2、Filter
默认是package:mine,对应以前你的包名,当然也是可以改的,Android Studio > Settings > Tools > Logcat。
改版之后的Filter使用键值对的方式查询:
tag:与日志条目的 tag 字段匹配。package:与日志记录应用的软件包名称匹配。process:与日志记录应用的进程名称匹配。message:与日志条目的消息部分匹配。level:与指定或更高严重级别的日志匹配,例如 DEBUG。age:如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。
查询条件是可以有多个的,比如package + tag + level:
package:mine tag:yechaoa level:debug
查询条件也是可以写表达式的,支持& |以及括号优先级,比如:
package:mine & ( tag:yechaoa | level:debug )
等等…
历史的记录也支持联想,只要你在Logcat设置中勾选这个:

另外,常用的筛选语句可以选择收藏,在Show history中会优先展示。
8.3、Buffer Size
如果你看日志调试的时候经常出现read: unexpected EOF!,这是因为日志太多把Logcat缓存刷爆了。
可以选择clear再来一次,如果还是刷爆,那可以加上tag,减少冗余日志的输出,也更高效。
当然也可以设置Logcat的缓冲区大小,网上比较多的方案是使用adb logcat -G 4m或者在开发者选项里面设置日志记录器缓冲区大小。
其实也还有一个更简单的方式,就是在AS里面设置:

默认是1024KB。
9、大小写提示
如果你在引用类或者变量的时候,因为输入的是小写而IDE没有提示的时候,你就需要设置一下匹配大小写了。
Mac:
Settings > Editor > General > Code Completion > Match case > 取消

Win:
Settings > Editor > General > Code Completion > Case sensitive completion > None
10、文件头
一般新建类文件时会有默认的File Header,比如 Created by xxx。
如果你想自定义,可以在Settings > Editor > File and Code Templates > Includes >File Header中设置

11、遥遥领先版
一个彩蛋

蹭下华为的流量,给AS改了个名字,有很多人问是怎么搞的,其实非常简单。。
应用程序 > 重命名,然后重新打开就可以了。
12、最后
本文就介绍这些了,其实每次新版本都会更新挺多信息,比如对Compose更好的支持、更好的升级助理等等,关于新版本更多信息,也可点击下方文档地址查看。
13、相关文档
- Android Studio Giraffe | 2022.3.1
- IntelliJ IDEA New UI
- Main-changes-and-known-issues
- View logs with Logcat
相关文章:
Android Studio新版本New UI及相关设置丨遥遥领先版
1、前言 俗话说工欲善其事必先利其器嘛,工具用不好怎么行呢,借着Android Studio的更新,介绍一下新版本中的更新内容,以及日常开发中那些好用的设置。 2、关于新版本 2.1、最新正式版本 Android Studio Giraffe | 2022.3.1 Pat…...
新型人工智能技术让机器人的识别能力大幅提升
原创 | 文 BFT机器人 在德克萨斯大学达拉斯分校的智能机器人和视觉实验室里,一个机器人在桌子上移动一包黄油玩具。通过达拉斯分校计算机科学家团队开发的新系统,机器人每推动一次,就能学会识别物体。 新系统允许机器人多次推动物体…...
聚观早报|蚂蚁集团发布“蚁天鉴”;vivo X100系列即将亮相
【聚观365】9月12日消息 蚂蚁集团发布“蚁天鉴” vivo X100系列即将亮相 台积电8月份营收59亿美元 8月公共充电桩环比增加6.1万台 吴泳铭接替张勇出任阿里云代理董事长与CEO 蚂蚁集团发布“蚁天鉴” 蚂蚁集团发布大模型安全一体化解决方案“蚁天鉴”。该方案包含了大模型…...
读高性能MySQL(第4版)笔记05_优化服务器设置
1. 除非遇到异常情况,否则不需要调整配置 1.1. 不要“调优”服务器,不要使用比率、公式或“调优脚本”作为设置配置变量的基础 1.1.1. 在互联网上搜索配置建议并不总是一个好主意,你会在博客、论坛等找到很多糟糕的建议 1.1.2. 很难判断谁…...
Spring Boot跨域问题简介
什么是跨域问题? 在Web开发中,跨域指的是在浏览器中访问一个不同于当前域名的资源。浏览器出于安全考虑,限制了这种跨域资源的访问。具体来说,当浏览器使用XMLHttpRequest或Fetch API发送跨域请求时,目标服务器必须在…...
【Java】过滤器和拦截器区别
文章目录 前言1、过滤器 (Filter)2、拦截器 (Interceptor)3、我们不一样3.1、实现原理不同3.2、使用范围不同3.3、触发时机不同 4、拦截的请求范围不同5、注入Bean情况不同6、控制执行顺序不同总结 前言 准备环境 我们在项目中同时配置 拦截器 和 过滤器。 1、过滤器 (Filter…...
es滚动查询分析和使用步骤
ES在进行普通的查询时,默认只会查询出来10条数据。我们通过设置es中的size可以将最终的查询结果从10增加到10000。如果需要查询数据量大于es的翻页限制或者需要将es的数据进行导出又当如何? Elasticsearch提供了一种称为"滚动查询"(…...
飞书公式总结
文本处理函数 飞书中的表格,需要实现 内容内容1条件1内容2条件2内容3条件3今天是周一;可以出去玩今天是周一能今天天气不错不能可以出去玩能 条件1,2,3为能时,把对应的内容1,内容2,内容3复制到内容 TEX…...
vue3.2 导出pdf文件或表格数据
要在Vue 3中导出PDF文件,你可以使用第三方库来处理PDF生成和导出。一个常用的库是jspdf,它允许你在客户端或服务器端生成PDF文档。 以下是在Vue 3中使用jspdf库导出PDF文件的基本步骤: 第一步首先,安装jspdf库。你可以使用npm或ya…...
Linux学习--MySQL学习之查询语句
所有实现基于mysql8.0.26实现,事例代码 1:常用函数 字符函数数学函数日期函数聚集函数数学计算if函数case函数 函数:MySQL服务内置命令 语法:函数名(表头名) select格式 SELECT 函数(表头名) FROM 库名.表名; SE…...
三、视频设备的枚举以及插拔检测
一、前言 本章主要讲述,如何获取设备名称以及guid,采集设备的采集格式识别,设备的插拔 设备列表以及属性的获取使用的directshow(后续的MediaFoundation无法获取OBS摄像头) 设备的插拔使用的是QT 捕获系统消息,捕获到设备插拔后&a…...
Qt开发_调用OpenCV(4.x)完成人脸检测并绘制马赛克(摄像头实时数据)
一、前言 这个基于Qt和OpenCV的人脸检测和人脸打码项目是通过实时视频流中的人脸识别来保护隐私。 该项目目的是保护隐私并确保人脸数据安全。在某些情况下,使用实时视频流进行人脸检测和识别可能涉及对个人隐私的侵犯。通过在图像中打码人脸区域,可以避免未经许可的人脸出…...
ssl证书有效期为什么越来越短?
随着互联网的发展和网络安全意识的提升,SSL证书在保护网络通信安全方面起到了极为重要的作用。SSL证书通过加密通信数据,确保信息在传输过程中不被窃取或篡改,为用户提供了安全可靠的网络环境。然而,近年来SSL证书的有效期不断缩短…...
XFF漏洞利用([SWPUCTF 2021 新赛]Do_you_know_http)
原理 常见的存在HTTP头注入的参数 User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中) Cookie:网站为了辨别用户身份进行se…...
Java——》JVM对原生的锁做了哪些优化
推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…...
华为云云耀云服务器L实例评测|用docker搭建frp服务测试
华为云云耀云服务器L实例评测|用docker搭建frp服务测试 0. 环境 华为云耀云L实例EulerOS 1. 安装docker 检查yum源,本EulerOS的源在这里: cd /etc/yum.repos.d 更新源 yum makecache 安装 yum install -y docker-engine 运行测试 d…...
群狼调研(长沙满意度调查专业公司)开展公交车乘客满意度调查
在城市的喧嚣中,公交车是我们日常出行的重要工具。那么,公交车的服务是否满足我们的期待?它还有哪些改进的空间?在这篇文章中,群狼调研**(长沙汽车制造商满意度调查)**通过一个深入的公交车乘客满意度调查,为您解答这些问题。 …...
Spring与OAuth2:实现第三方认证和授权的最佳实践
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
Mysql的定时备份与恢复
MySQL定时备份与还原 MySQL备份方案 物理备份:这种备份方式将数据库的实际文件复制到另一个位置。常见的物理备份工具包括mysqldump和Percona XtraBackup。具体操作如下: 使用mysqldump 命令备份数据库: mysqldump -u username -p database_…...
学习Java基础面试题第五天
一、Java面试题第五天 1.spring字符串的最大长度 转自:String字符串的最大长度是多少?在学习和开发过程中,我们经常会讨论 short ,int 和 long 这些基本数据类型的取值范围,但是对于 String 类型我们好像很少注意它的…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
什么是EULA和DPA
文章目录 EULA(End User License Agreement)DPA(Data Protection Agreement)一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA(End User License Agreement) 定义: EULA即…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...
