除了废弃 Instant Run, 稳定版AndroidStudio 3.5还有什么新特性?

freeline:适用于Android的超快速构建工具,是Instant Run的替代工具 自由行 Freeline是适用于Android的超快速构建工具,是Instant Run的替代工具。 通过缓存可重用的类文件和资源索引,它可以增量构建Android应用程序,并可以选择通过热交换将更新部署到您的设备。 有关更多信息,请参见。 Freeline由Ant Fortune()Android团队开发和使用,Freeline大大节省了日常工作时间。 受Buck和Instant Run的启发,但比以往更快,Freeline可以在几秒钟内完成增量构建。 在看到您的修改之前,无需再反复编译和安装,Freeline带来了改变生活的Android开发体验。 Freeline见解 Freeline将构建任务分为几个可以同时运行的小任务。 它充分利用已编译的缓存文件来实现真正的增量构建,并使用Buck的某些组件(例如dx和DexMerger)来加快构建任务。 Freeline在设备端的一个单 立即下载

点击上方的终端研发部,右上角选择“设为星标”

每日早10点半,技术文章准时送上

公众号后台回复“学习”,获取作者独家秘制精品资料

640?wx_fmt=png

往期文章

记五月的一个Android面试经

今日头条屏幕适配方案落地研究

APK瘦身-是时候给App进行减负了

漫画:App 防止 Fiddler 抓包小技巧!

浅谈final、finally、finalize有什么不同?

640?wx_fmt=png

来源:AndroidDev

前言

在前几天(美国时间8月20日)的早些时候,Android Studio(以下简称为AS) 3.5正式版终于发布了,从第一个bate版本发布到正式版本,历时三个半月。AS一直以来被开发者吐槽,因此谷歌也放慢了版本的变化,对测试版本进行大力度的优化,提高了稳定性。从3.3版本开始,谷歌启动了名为Project Marble的计划,意为谷歌团队致力于使集成开发环境(IDE)的基本功能和流程变得坚如磐石,同时精炼和完善面向用户的功能。而AS 3.5则是Project Marble主要成果的版本,下面来介绍主要成果。

Project Marble:系统健康

推荐的内存设置

如果AS检测到可以增加操作系统为AS进程分配的最大RAM(例如IDE,Gradle守护程序和Kotlin守护程序)来提高性能,那么AS将会弹窗提示,如下图(图片来自官方文档)

640?wx_fmt=png

当然你也可以通过菜单打开配置,路径File > Settings(mac: Android Studio > Preferences),可以在Appearance & Behavior > System Settings中找到Memory Settings的配置选项。

640?wx_fmt=png

内存使用报告

AS的内存问题有时难以重现和报告,为帮助解决此问题,在AS 3.5中可以通过菜单栏中的Help > Analyze Memory Usage来生成内存使用情况报告,点击之后会自动生成报告,提示重启AS。重启完毕后,会显示内存使用报告,你可以发送报告给AS团队,以分析使用问题。内存报告如下图

640?wx_fmt=png

Windows:杀毒软件导致的IO问题

大部分开发者用的是Windows系统,而杀毒软件的文件扫描系统会实时扫描新文件。在AS构建项目时,Gradle会编译程序的资源和源代码,然后将编译后的资源打包在一起,在此过程中,会生成大量的文件,如果杀毒软件进行扫描会严重降低构建速度。所以可以关闭杀毒软件提升速度(不建议),或者把AS的一些目录添加到杀毒软件实时扫描的忽略目录。有这些目录

Gradle缓存目录:%USERPROFILE%(用户目录).gradle

Android SDK目录

Project Marble:特色功能改进

Apply Changes

为了能不重启应用就使修改的代码和资源生效,以前推出了Instant Run,但是效果并不好,AS 3.5则推出了Apply Changes,与Instant Run重新编写APK的字节码技术不同,Apply Changes是通过利用Android 8.0(API级别26)或更高版本中支持的 Android JVMTI(https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html#bci)技术。所以如果想使用Apply Changes有两个条件:

  • Apk必须是debug包

  • 必须在Android 8.0以上的手机上运行

Apply Changes按钮在菜单栏上,在运行的右侧新增两个按钮,如下图(图片来自官方文档)

640?wx_fmt=png

Apply Changes and Restart Activity:尝试通过重新启动活动但不重新启动应用程序来应用资源和代码更改。如果有代码和资源的修改可以使用这个来使代码和资源即时生效。

Apply Code Changes:尝试仅应用代码更改而不重新启动任何内容。如果只有代码修改,可以使用这个来使代码生效。如果修改了代码和资源,请使用“Apply Changes and Restart Activity ”。

当使用Apply Changes失败时,AS会提醒是否重新运行应用,如果不想AS进行提醒而在失败时直接重新运行应用,可以打开File > Settings(mac: Android Studio > Preferences),在Build, Execution, Deployment > Deployment中选择两个复选框即可。需要注意的是如果是修改了onCreate中的代码则必须重启应用修改才可生效。

应用部署流程

AS 3.5新增了一个下拉菜单,可以直接选择需要部署的机器。而且菜单中还包含一个选项,可以同时部署到多台设备。下拉菜单如下图

640?wx_fmt=png

部署到多设备如下图

640?wx_fmt=png

改进了Gradle同步和缓存检测

在以前的版本中,AS会定期清理下载的依赖项,可能会导致Sync失败,而AS 3.5版本改进了这个策略,更好地确定Gradle清理缓存的实际,减少同步失败的情况发生。

改进了构建错误输出日志

在新版本中,在build时为以下的构建过程提供了更好的错误报告,例如指向文件的链接和报告错误的行:

  • AAPT编译和链接

  • R8和ProGuard

  • Dexing

  • 资源合并

  • XML文件解析

  • Javac,Kotlinc和CMake编译

  • 项目升级

改进了更新体验,提供了更多信息和操作,可以更好的更新IDE和Android Gradle插件。例如,如果出现错误,现在会有更详细的同步和构建错误日志。

现在可以独立的更新IDE而不影响其他的功能,例如Android Gradle插件可以在以后进行更新。

  • 布局编辑器-

AS 3.5对布局的可视化,管理和交互做了一些改进。

例如在使用ConstraintLayout布局时,属性面板里的约束显示了所有的约束关系,可以直接进行选择 。如下图(图片来自官方文档)

640?wx_fmt=png

同时也可以选择一个约束,然后点击Delete键进行删除约束。也可以按下Ctrl(mac:command)键,然后点击一个约束进行删除。当按下Ctrl(Command)键时,鼠标悬停在约束上时,任何与之关联的约束都会变为红色,表示可以点击该约束进行删除。

选择视图后,可以通过单击属性面板的约束小组件部分中的任何+图标来创建约束,如下图(图片来自官方文档)。创建新约束时,布局编辑器现在突出显示约束,提供即时的可视反馈。

640?wx_fmt=gif

现在创建约束时,布局编辑器仅显示可以约束的合格锚点。而在以前的版本中,无论是否可以约束它们,布局编辑器会突出显示所有视图上的所有锚点。此外,在约束的目标会突出显示蓝色叠加层。如下图的对比

在AS 3.4中的表现

640?wx_fmt=gif

在AS 3.5中的表现

640?wx_fmt=gif

除上述更新外,AS 3.5还包含以下布局编辑器的改进:

该 Constraint Widget和margin下拉选项中会有dimens资源选项。

蓝图模式包括了对未显示文本的某些组件的文本支持。

Data Binding

此版本中,除了为数据绑定添加了增量处理支持之外,而且在XML中创建data binding表达式时改进了智能编辑器功能和性能。

在3.4版本中的效果

640?wx_fmt=gif

在3.5版本中的效果

640?wx_fmt=gif

改进了对C / C ++项目的支持

AS 3.5包含一些改进,对C / C ++项目更好的支持,对一些大型项目,大大提高了编译的速度。

对Build Variants面板改进

您现在可以在Build Variants面板中指定Active Build Variant和Active ABI 。这个功能简化了每个模块的构建配置,还提高了Gradle同步的性能。

640?wx_fmt=png

并行的NDK版本

现在可以并排使用多个版本的NDK。这个功能在配置项目时提供了更大的灵活性: 例如,如果项目在同一台计算机上需要使用不同版本的NDK就会很方便。

如果使用了Android Gradle Plugin3.5.0或更高版本,还可以指定项目中每个模块应使用的NDK版本。可以使用这个功能创建可重现的构建,并减轻NDK版本与Android Gradle插件之间的不兼容性。

Chrome OS支持

AS现在正式支持Chrome OS设备,可以在下载页面下载相应的版本。

动态特性支持

AS 3.5 增强了对应用程序包特性的支持,为应用程序包添加了动态特性支持。开发者可以根据硬件特性(如OpenGL版本、对AR的支持)设置条件,或者根据API级别和用户国家地区设置条件。新建module时选择Dynamic Feature Module并点击Next就会出现如下图所示的选项,具体的详细配置可以参考https://developer.android.com/studio/projects/dynamic-delivery/conditional-delivery

640?wx_fmt=jpeg

IntelliJ IDEA 2019.1

AS 3.5的IDE已经更新了IntelliJ IDEA到2019.1的版本,关于IDEA2019.1版本的详细更新可以参考这个链接

Android Gradle plugin 3.5.0

随着AS 3.5的发布,Android Gradle plugin也更新到了3.5.0,关于plugin的更新内容可以参考这个链接

那么,现在升级到3.5.0吧,可以在AS内进行增量更新,也可以下载最新安装包重新安装。下载地址

https://developer.android.com/studio#downloads

阅读更多

Android的保活方案效果统计

2019最新Android面试题

记五月的一个Android面试经

Android 性能优化之谈谈Java内存区域

Java泛型--BeanUtils.copyProperties引发的血案

相信自己,没有做不到的,只有想不到的

在这里获得的不仅仅是技术!

640?wx_fmt=jpeg

640?wx_fmt=gif

喜欢就给个“在看” 640?wx_fmt=gif

Windows 11下WSL2安装CUDA避坑指南:从驱动版本匹配到环境变量配置 本文详细解析了在Windows 11的WSL2中搭建CUDA开发环境的完整流程与核心避坑要点。关键在于理解“驱动在Windows,工具链在Linux”的独特架构,并确保显卡驱动与CUDA Toolkit版本严格匹配。指南涵盖了从驱动验证、WSL-Ubuntu专用仓库安装、环境变量配置到GCC版本冲突、GPU算力不匹配等常见问题的解决方案,帮助开发者高效构建稳定的深度学习与高性能计算环境。 阅读详情

相关推荐

手把手教你给STM32F103移植LVGL触摸驱动(基于野火开发板,附完整代码)

本文详细介绍了如何在野火STM32F103开发板上移植LVGL触摸驱动,提供从环境准备到代码实现的完整指南。通过XPT2046触摸芯片的底层驱动集成和LVGL输入设备接口配置,开发者可以快速实现触摸功能,并解决常见问题如触摸无响应、坐标偏移等。

weixin_30856725的博客 1021

android studio 替代

Android Studio替代品探讨 Android Studio作为Google官方的IDE,广泛用于开发Android应用程序。然而,随着移动开发需求的多样化,许多开发者开始寻求其它工具或IDE的替代方案。本文将探讨几种Android Studio的替代品、其优缺点,以及如何利用这些工具进行开发。同时我们将通过代码示...

weixin_42091009的博客 2396

C#集成Bartender:动态图片标签打印的实战与优化

本文详细介绍了在C#程序中集成Bartender实现动态图片标签打印的实战方法与优化策略。通过具名数据源绑定、图片对象尺寸控制等核心技巧,解决了动态图片显示/隐藏的难题,并提供了从模板设计、代码架构到性能优化、错误处理的全流程指南,帮助开发者构建稳定高效的工业级标签打印系统。

weixin_29216957的博客 431

这些小工具让你的Android 开发更高效

在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效。

tikitoo的专栏 2万+

Java + Selenium + TestNg + Allure Web UI 自动化

我们知道,在Python中针对Web UI自动化有Python + Selenium + Pytest/Unittest +Allure的技术栈。那么对于Java而言,也有其独特的Web UI 自动化技术栈。相同的,我们同样的运用Selenium框架,测试报告同样运用Allure。不同的是,我们运用的语言由Python转化为了Java,测试用例管理框架从Pytest转化为了TestNG。

qq_45594960的博客 1913

大连海事大学课设题目/基于LM331的频率电压转换器

部分基于LM331的频压转换的实物连接问题

2301_76649592的博客 3226

集锦|2023年十大跨平台开发IDE工具

作为Android开发IDE工具的首选,Android Studio提供了一个全面的、灵活的开发环境,可以快速构建高质量的应用程序。,可以将已有小程序代码导出为 IOS 与 Android 中可用的工程文件,由于导出的工程文件已经集成了 FinClip SDK ,所以所生成的APP直接拥有小程序的运行能力,后续可在这个 APP 上继续上架更多小程序,自建自己的小程序生态。作为iOS开发IDE工具的首选,Xcode提供了一个完整的开发环境,可以帮助开发人员构建高质量的iOS应用程序。

ywh_121215的博客 1580

SpringBoot实战教程-springboot概论

Spring Boot 是一个快速开发框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,以及自动配置。内置web容器,帮助开发者能够实现快速开发,简化了应用系统的初始搭建以及开发过程。

鸟哥哥的专栏 4155

常用的开发App的编程软件

论语·卫灵公》中说“工欲善其事,必先利其器”。同样,开发App选对开发环境和编程软件,将事半功倍!

mali_ml的博客 9208

12-RK平台U-Boot启动流程

先看概述,把这一章要回答的问题摆出来,带着问题听。RK 特有的 BootROM -> MiniLoader -> SPL -> U-Boot -> Kernel。这是因为 RK 平台使用闭源的 DDR 初始化固件,需要通过 MiniLoader 来加载和运行。为什么多一层?这是 RK 平台的特殊性决定的。RK 平台使用闭源的 DDR 初始化固件,这段代码 Rockchip 不开源,只能以二进制形式提供,它需要一个载体来加载和运行,这个载体就是 MiniLoader。

内核笔记 1147

多思计组实验实验三、存储器读写实验

实验三、存储器读写实验

qq_53089329的博客 3651

AndroidStudio新特性ApplyChange介绍

AndroidStudio 3.5预览版推出了一个新功能——ApplyChange,替换原来的InstantRun功能。ApplyChange采用了跟InstantRun不一样的原理来加快AndroidStudio的部署安装apk的流程。 InstantRun InstantRun主要解决以下两个问题,(1)减少构建和部署app到手机的时间;(2)热更新代码改动,无需重启app或者activity...

android_t34的博客 1万+

人工智能混合编程实践:C++调用封装好的DLL进行异常检测推理

C++、Python、ONNX、人工智能、异常检测、Anomalib 2.1.0

FriendshipTang的博客 170

Android Studio 3.5 稳定版发布,废弃 Instant Run

Google 发布了安稳版的 Android Studio 3.5,Project Marble 也是安稳的。此版别处理了一系列问题,包含修正 600 多个 bug、50 个内存走漏、20 个 IDE 挂起以及改善 XML&Kotlin 类型推迟。此 外,对于 Android 模拟器,减少了 CPU 和内存对用户开发机器的影响。以下是这个版别带来的一些值得注意的特性和改善: User In...

binfengtan3770的博客 3368

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android开发教程:常用开发工具对比

工具开发语言跨平台能力性能表现学习成本适用场景仅Android⭐⭐⭐⭐⭐中等专业开发、大型项目HBuilder⭐⭐⭐⭐⭐⭐⭐低前端开发、快速原型FlutterDart⭐⭐⭐⭐⭐⭐⭐⭐中等高性能跨平台应用⭐⭐⭐⭐⭐⭐⭐中等快速迭代、熟悉React的团队。

Rysxt_的博客 2011

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

像大牛一样写代码: 31个Android 开发者工具

原文:Code like a pro: 31 tools for Android app developers。文中部分工具是收费的,但是绝大多数都是免费的。 FlowUp 这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等等。FlowUp根据用户数量收费。 Stetho 由Facebook开发的一个强

cenzr的博客 1156

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android开发必备工具

工欲善其事,必先利其器,在Android项目的开发中,借助工具能使开发效率大幅提升,下面分享我经常使用的工具,欢迎各位同学补充。 1.Android Studio Android程序员的吃饭工具,可以说现在绝大部分的安卓项目都是跑在Android Studio上面的。Android Studio 是基于 IntelliJ IDEA 且适用于开发 Android 应用的官方集成开发环境 (IDE...

pigdreams的博客 2万+

android应用案例开发大全_android开发Apply Changes功能,无需重启应用,快速运行

在 Android Studio 3.5 及更高版本中,Apply Changes 可让您将代码和资源更改推送到正在运行的应用,而无需重启应用(在某些情况下,无需重启当前 Activity)。有了这种灵活性,您就可以控制在想部署和测试细微增量更改时应用的重启范围,同时保持设备的当前状态。Apply Changes 使用搭载 Android 8.0(API 级别 26)或更高版本的设备上支持的浪An...

weixin_39903477的博客 409

APP开发十大工具(2026最新版)

本文整理了 2026 年 APP 开发最值得使用的十大工具,涵盖 AI 编程、Android/iOS 开发、UI 设计、后端服务、抓包调试、市场分析、数据监控等多个环节,并结合实际开发经验分享每款工具的特点和适用场景,帮助开发者搭建高效的 APP 开发工具链。

qq_53593492的博客 1715

Android开发工具如何选择

作为新手如何选择Android开发工具,下面对常用的几款工具做一下对比。

qq_30725967的博客 4726

Android入门二:开发平台

Android原生开发可以使用三个eclipse、idea和android studio这三个平台开发: 1、eclipse:对于该平台,Google已停止了eclipse开发插件的更新,不建议使用该平台入门,除非学校学习Java课程使用了该平台,顺手练习。 2、idea:这是我现在使用的开发平台,因为idea可移动端和前后端兼顾开发,且android studio的使用操作和idea开发Android的操作基本一致,两个平台切换开发Android不需要什么适应期。 3、Android studio:Goo

zsgCXB的博客 671

新版本Android Studio 3.5以上版本新特性(Apply Changes and Restart Activity 和 Apply Code Changes)

新版本Android Studio 3.5以上版本新特性 android studio为何会出这几个功能呢? (1)减少构建和部署app到手机的时间; (2)热更新代码改动,无需重启app或者activity。 有助于开发节省开发时间的; 但是对于大型复杂应用,它会导致更长的构建时间 所以基于此,as开发者团队重新设计了底层的架构,推出了ApplyChangs。和InstantRun不同的是,...

wdx_1136346879的博客 9910

Android Studio升级3.5后,Instant Run去哪了?

Instant Run AndroidStudio3.5以后关闭Instant Run

白日梦奇 6458

Instant Run 立即刷新功能

原文地址:点击打开链接       以往的Android开发有一个头疼的且拖慢速度的问题,就是你每改一行代码要想看到结果必须要编译运行到手机或者模拟器上,而且需要从头(可能是登录界面)一直点击到你修改的界面为止。开发一个完整的Android App你可能要经历无数个重复编译运行的过程,严重的拖慢了开发进度。 最近React Native for Android可谓是解决了这个问题,修改

风之盔的博客 2140

android 使用lint + studio ,排查客户端无用string,drawable,layout资源

  在项目中点击右键(或者菜单中的Analyze),在出现的右键菜单中有“Analyze” --> “run inspaction by Name ...”。在弹出的搜索窗口中输入想执行的检查类型,如“Unused Resources”。不必全部输入就应该自动找到了,点击后会弹出“inspaction scope”选择窗口,选择检查的范围,一般选择整个项目或模块。“inspaction sc...

weixin_30814319的博客 657
上一篇: 安卓新LOGO刚刚出炉!看着像毛毛虫
下一篇: 千万不要一辈子靠技术生存
androidstarjack
博客等级 码龄12年 3277粉丝 697原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值