更新了 Wear OS 模拟器工具栏
从 Android Studio Dolphin Canary 2 开始,对于 API 级别 28 或更高级别的 Wear 模拟器,工具栏现在会有模拟设备上的物理按钮和常见操作的按钮。
新按钮是:1⃣️ 和 2⃣️ 圆点,(按钮 2 仅在 API 级别 30 或更高级别上可用)、Palm 按钮和 Tilt 按钮:
- 要将设备设置为环境模式,单击 Palm 按钮。
- 要将设备返回到环境模式之前的最后一个屏幕,单击 Tilt 按钮。
有关详细信息,请参阅 在模拟器中执行常见操作。
新的 Wear OS 运行配置
添加了新的运行配置以快速运行和调试特定于 Wear OS 的表面,例如表盘、磁贴和复杂功能,可以在运行应用程序时从 Run/Debug Configurations 对话框创建这些新配置。
有关更多信息,请参阅 Wear OS 运行/调试配置。
三、新的 Logcat
Logcat 已更新,可以更轻松地解析、查询和跟踪日志。
New formatter
Logcat 现在会对日志进行格式化,以便开发者可以更轻松地扫描有用信息如标签和消息,并且会识别不同类型的日志,例如警告和错误。
在视图预设之间切换
Logcat 现在允许通在不同的视图模式之间快速切换。
每种视图模式都提供了不同的默认设置,用于显示更多或更少的信息,例如时间戳、标签和进程 ID (PID)。
另外还可以通过选择Modify View 来自定义这些默认视图模式以及自定义视图模式。
新的键值搜索
在以前的 Logcat 版本中,开发者需要选择使用字符串搜索(支持正则表达式)或通过使用 Logcat UI 填充各种字段来创建新过滤器。
第一重方式让搜索变得更加复杂,而第二个选项让共享和设置查询变得更加困难,所以我们现在通过直接从主查询字段引入键值搜索来简化体验。
这个新的查询系统提供了开发者想要查询的准确性,并且不依赖于正则表达式,还能够从历史中调用过去的查询,并与其他人共享这些查询,此外,你仍然可以选择使用 RegEx 并根据键值排除日志。
-
本地应用项目的 PID:
package:mine
-
具体数值:
package:<package-ID>
tag:<tag>
level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
-
通过在键前面加上排除特定值
-tag:<exclude-tag>`
-
通过在键后放置 ~ 来使用具有给定键的正则表达式
tag~:<regular-expression-tag>
- 结合排除标签:
-tag~:<exclude-regular-expression-tag>
你还可以通过 查询历史选择(漏斗) 来查询字段,然后从下拉列表中选择它们来查看查询历史记录。
另外,如果要收藏某个查询可以请单击 收藏查询(黄色⭐️) 查询字段末尾的 。
跨应用程序崩溃/重启跟踪日志
新的 Logcat 现在可以更轻松地在应用崩溃和重新启动时跟踪应用的日志,这样开发者就不会错过这些事件中的重要日志。
当 Logcat 注意到应用进程已停止并重新启动时,将在输出中看到一条消息,例如PROCESS ENDED
和 PROCESS STARTED
, 如下所示:
而且,重新启动 Logcat 会保留会话配置,例如选项卡拆分、过滤器和查看选项,以便开发者可以轻松地继续之前的会话。
四、其他
Gradle Managed Devices
为了在使用 Android 虚拟设备进行自动化检测测试时提高一致性、性能和可靠性,本次推出了 Gradle 托管设备。
此功能适用于 API 级别 27 及更高级别,允许开发者在项目的 Gradle 文件中配置虚拟测试设备,构建系统在执行自动化测试时使用配置来完全管理(即创建、部署和拆除)这些设备。
这个功能使 Gradle 不仅可以查看正在运行的测试情况,还可以查看设备的生命周期,从而通过以下方式提高测试的体验和质量:
- 处理与设备相关的问题,以确保执行开发者的测试用例
- 利用模拟器快照来改善设备启动时间和内存使用率,并在测试之间将设备恢复到干净状态
- 缓存测试结果并仅重新运行可能提供不同结果的测试
- 为在本地和远程测试运行之间运行测试提供一致的环境
此外,Gradle Managed Devices 引入了一种名为自动测试设备 (ATD) 的新型仿真器设备,设备经过优化以提高运行仪器测试时的性能。
要了解有关 Gradle 托管设备及其相关功能的更多信息,请参阅 使用 Gradle 托管设备扩展测试。
R8 支持使用基于 DEX 指令偏移的映射文件
在优化行信息时,R8 现在可以使用基于指令偏移的行表将信息编码到共享调试信息对象中,这大大减少了线路信息的开销。
此外,如果方法没有行号信息,从 O(API 级别 26)开始的 Android VM 支持在堆栈跟踪中打印指令偏移量,当使用 minSdk 26 或更高版本进行编译并且没有源文件信息时,R8 会完全剥离行号信息。
无状态 lambda 不再被视为单例
构建构建时,无状态 lambda 不再分配为单例,由于添加了字段和类初始化器,之前作为单例的表示增加了代码大小开销,以及由于静态类初始化而导致的启动开销。
无状态 lambda 现在在使用站点上分配的方式与有状态 lambda(带捕获的 lambda)相同。
R8 避免了 Android 运行时的验证速度变慢
为了消除 Android 运行时(Dalvik 和 ART)上的性能问题,R8(不是 D8)现在引入了 library stubs 并 outline 了对库类和运行时可能不存在的方法的库方法的调用。
这样做可以消除许多验证问题并提高运行时性能,并且此功能始终启用。
通过 Java 8+ API 脱糖支持 JDK-11 API
使用 coreLibraryDesugaring 依赖项时,现在支持基于 JDK-11 的实现库,有关更多信息,请参阅 desugar_jdk_libs
更改日志 。
Android Gradle 插件和 Android Studio 兼容性
Android Studio 构建系统基于 Gradle,Android Gradle 插件添加了一些特定于构建 Android 应用程序的功能,下表列出了每个版本的 Android Studio 所需的 Android Gradle 插件版本。
作者:恋猫de小郭
链接:https://juejin.cn/post/7143907798458302472
最后
如果想要成为架构师或想突破20~30K薪资范畴,那就不要局限在编码,业务,要会选型、扩展,提升编程思维。此外,良好的职业规划也很重要,学习的习惯很重要,但是最重要的还是要能持之以恒,任何不能坚持落实的计划都是空谈。
如果你没有方向,这里给大家分享一套由阿里高级架构师编写的《Android八大模块进阶笔记》,帮大家将杂乱、零散、碎片化的知识进行体系化的整理,让大家系统而高效地掌握Android开发的各个知识点。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照知识体系编排的。
一、架构师筑基必备技能
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
……
二、Android百大框架源码解析
1.Retrofit 2.0源码解析
2.Okhttp3源码解析
3.ButterKnife源码解析
4.MPAndroidChart 源码解析
5.Glide源码解析
6.Leakcanary 源码解析
7.Universal-lmage-Loader源码解析
8.EventBus 3.0源码解析
9.zxing源码分析
10.Picasso源码解析
11.LottieAndroid使用详解及源码解析
12.Fresco 源码分析——图片加载流程
三、Android性能优化实战解析
- 腾讯Bugly:对字符串匹配算法的一点理解
- 爱奇艺:安卓APP崩溃捕获方案——xCrash
- 字节跳动:深入理解Gradle框架之一:Plugin, Extension, buildSrc
- 百度APP技术:Android H5首屏优化实践
- 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」
- 携程:从智行 Android 项目看组件化架构实践
- 网易新闻构建优化:如何让你的构建速度“势如闪电”?
- …
四、高级kotlin强化实战
1、Kotlin入门教程
2、Kotlin 实战避坑指南
3、项目实战《Kotlin Jetpack 实战》
- 从一个膜拜大神的 Demo 开始
- Kotlin 写 Gradle 脚本是一种什么体验?
- Kotlin 编程的三重境界
- Kotlin 高阶函数
- Kotlin 泛型
- Kotlin 扩展
- Kotlin 委托
文末
今天关于面试的分享就到这里,还是那句话,有些东西你不仅要懂,而且要能够很好地表达出来,能够让面试官认可你的理解,例如Handler机制,这个是面试必问之题。有些晦涩的点,或许它只活在面试当中,实际工作当中你压根不会用到它,但是你要知道它是什么东西。
最后在这里小编分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司2021年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。
还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
【Android核心高级技术PDF文档,BAT大厂面试真题解析】
【算法合集】
【延伸Android必备知识点】
【Android部分高级架构视频学习资源】
**Android精讲视频领取学习后更加是如虎添翼!**进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!