AndroidStudio新特性ApplyChange介绍

[译] Android Studio Project Marble_ Apply Changes(1) 带来的副作用是,在我们进行稳定性优化的早期版本中,Apply Changes 会比 Instant Run 的平均速度稍慢,但是我们将继续提高构建和部署的速度。通过对比新编译的 .dex 文件和之前的 .dex 文件的校验和,Apply Changes 可以在很短的时间内找到更改过的类。群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。 阅读详情

AndroidStudio 3.5预览版推出了一个新功能——ApplyChange,替换原来的InstantRun功能。ApplyChange采用了跟InstantRun不一样的原理来加快AndroidStudio的部署安装apk的流程。

InstantRun

InstantRun主要解决以下两个问题,(1)减少构建和部署app到手机的时间;(2)热更新代码改动,无需重启app或者activity。为了实现这两个目标,InstantRun通过重写apk的构建流程往每个类里面去注入钩子来达到类的热替换。详细的实现原理,可以查看这些博文。

对于小型的应用,InstantRun确实很好用,能够节省构建和部署的时间,并且不会出错。但是对于大型复杂应用,它会导致更长的构建时间,同时由于InstantRun构建过程和正常的app构建存在冲突,常常出现另开发者抓狂的错误。as开发团队在连续几个大版本中都去尝试去解决这些问题,但是效果不理想。

所以基于此,as开发者团队重新设计了底层的架构,推出了ApplyChangs。和InstantRun不同的是,它不会在构建过程中去修改apk。它依赖的是安卓8.0开始虚拟机支持的特殊指令来进行类的替换。

ApplyChanges

当连接上安卓8.0及以上的设备时,as将会多出三个按钮
ApplyChanges部署资源和代码改动到手机,重启activity,但是无需重启应用。
仅部署代码改动到手机,不需要重启activity和应用。

架构

接下来我们研究下ApplyChanges的实现原理。ApplyChanges的核心是要找出AndroidStudio构建出来的apk和已经安装到手机设备apk的差异。找出差异后,然后将差异发送到手机上执行差异合并。

Android 微信摇骰子(1) 最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。 阅读详情

相关推荐

18、Android开发:Apply Changes与事件处理全解析

本文深入解析了Android Studio中的Apply Changes功能及其在不同场景下的使用方法,包括代码更改、资源修改和应用重启等操作,并详细介绍了Android事件处理机制,涵盖事件队列、监听器注册、回调实现及事件消费概念。通过实际示例演示了如何高效开发与调试Android应用,帮助开发者提升开发效率与交互设计能力。

grafana8visual的博客 131

Android Studio Project Marble: Apply Changes

深入了解Android Studio的构建工作团队是如何构建 Instant Run 的继任者 Apply Changes。 这是由 Android Studio 团队发布的一系列深入了解 Project Marble 一些细节和背后原理文章的第一篇。从 Android Studio 3.3版本开始,Project Marble 是一个多发行版, 专注于使得IDE的基本功能更加可靠和完善。以...

cantalou的专栏 1447

具身智能与空天具身智能:从理论到实践的跨领域融合

本文深入探讨了具身智能从理论到实践的发展,重点分析了空天具身智能这一前沿领域。文章阐述了如何为AI赋予“身体”,使其通过与环境实时交互进化智能,并详细拆解了构建空天智能体所需的核心技术模块,包括多模态感知、基于大模型的决策规划以及鲁棒控制。同时,结合山区电力线自主巡检等实战案例,展望了多智能体协同与标准化等未来方向。

weixin_29045585的博客 532

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

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

weixin_39903477的博客 409

C++版Cesium实战:从OpenGL到3DTiles的全流程开发指南

本文提供了一份C++版Cesium全流程开发指南,详细阐述了如何利用OpenGL和Qt从零构建高性能、可离线部署的三维GIS应用。内容涵盖开发环境搭建、OpenGL渲染引擎初始化、Cesium核心坐标系与场景管理移植,并重点解析了3DTiles数据的解析、异步加载与渲染优化等硬核实战技术,旨在帮助开发者实现与现有C++工业软件的深度集成。

weixin_28077113的博客 164

POVME3口袋体积计算:从.ini配置到实战解析

本文详细解析了POVME3口袋体积计算工具,从核心原理、环境准备到实战应用。重点剖析了控制计算行为的.ini配置文件,包括如何定义口袋区域、精修范围及锁定目标,并提供了固定坐标与配体引导两种实战策略,帮助研究人员从分子动力学轨迹中量化分析蛋白质结合口袋的动态变化。

weixin_29043895的博客 537

[译] Android Studio Project Marble: Apply Changes

原文地址:Android Studio Project Marble: Apply Changes 原文作者:Jon Tsao 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:qiuyuezhong 校对者:phxnirvana 深入探讨 Android Studio 团队如何构建 Instant Run 的后继者 —— Apply Change...

weixin_33862993的博客 1293

AstrBot插件开发全攻略:从零编写一个天气查询插件(Python实战)

本文提供了一份详细的AstrBot插件开发实战指南,手把手教你使用Python从零编写一个智能天气查询插件。内容涵盖插件系统核心设计、开发环境搭建、API调用与数据处理、自然语言交互实现以及插件打包发布全流程,帮助你快速掌握基于AstrBot框架的聊天机器人功能扩展技能。

weixin_29212867的博客 1084

[译] Android Studio Project Marble_ Apply Changes

由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。提升架构认知不是一蹴而就的,它离不开刻意学习和思考。**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。,第一时间获取最新知识点Android架构师之路很漫长,一起共勉吧!

2401_84876174的博客 581

南京邮电大学电工电子实验(二)复习一

本文给电工电子实验(二)的复习进行一些知识点的提醒

YOUXISUN的博客 2959

华为HCIP的学习大纲和计划

HCIP(华为认证 ICT 高级工程师)核心围绕华为 ICT 技术体系,不同方向(如路由交换、云计算、安全等)课程目录不同,以下是最热门的。

迷逝 575

[译] Android Studio Project Marble_ Apply Changes,成功定级腾讯T3-2

以添加下面V无偿领取!(备注Android)**[外链图片转存中…(img-ZFhF2lZe-1710986283335)]

m0_61369275的博客 591

基于深度学习的灰度图像气泡群识别与优化

灰度图像气泡群深度学习识别优化研究 本研究针对MATLAB实现的深度学习气泡群识别系统在从1445个点到4992个点扩展时出现的精度不稳定问题,提出了一套完整的解决方案。文章首先分析了问题根源,包括数据复杂度增加、类别不平衡、网络容量不足等因素,然后系统性地提出了数据预处理增强、网络架构优化、训练策略调整和后处理算法改进等优化措施。通过改进的U-Net架构、自适应直方图均衡化等技术创新,有效提升了模型在大规模气泡群图像上的识别精度和稳定性,为化工、生物医学等领域的灰度图像分析提供了可靠的技术支持。

max500600的博客 412

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

点击上方的终端研发部,右上角选择“设为星标”每日早10点半,技术文章准时送上公众号后台回复“学习”,获取作者独家秘制精品资料往期文章记五月的一个Android面试经今日头...

这个时代,作为程序员可能要学习小程序 782

【占用网络】OccNet: Scene as Occupancy 适用于检测、分割和规划任务 ICCV2023

本文分享“占用网络”方案中,具有代表性的方法:OccNet。它以多视角视觉为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。构建一个通用的“3D占用编码特征”,用以表示3D物理世界。这样的特征描述可以应用于广泛的自动驾驶任务,包括检测、分割和规划。

黎国溥 3361

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Android Studio 3.5新特性

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

chends 1万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android Studio 3.6版本新特性

转:https://developer.android.google.cn/studio/releases 没啥意思,主要是方便自己以后方便查找,同时也提供下分享,这个网站还挺好的,各位大佬可以去上面随时查看Android studio新特性跟Android新技术 设计工具 此版本的 Android Studio 包含对多个设计工具的更新,其中包括布局编辑器和 Resource Manager。 设计编辑器中的拆分视图和缩放控件 此版本包含对视觉设计编辑器的以下更新: 设计编辑器(如布局

z936689039的博客 1892

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

谷歌开发者大会之Android技术盘点

点击上方的终端研发部,右上角选择“设为星标”每日早9点半,技术文章准时送上公众号后台回复“学习”,获取作者独家秘制精品资料往期文章前言想知道2019谷歌开发者大会有什么新...

这个时代,作为程序员可能要学习小程序 450

wavecn 2.0.0.5 正式版_谷歌Android Studio 3.5正式版发布:稳步推进Project Marble计划

据官方介绍,在过去的8个月中,Android Studio团队暂缓了新特性的开发工作,专心提升Studio的产品质量,只为带来速度更快的日常开发体验,谷歌把这项工作命名为Project Marble计划。该计划围绕系统健康、特性优化和错误修复三大核心领域,力图在Android Studio与Android模拟器中构建功能强大且稳定的基础特性与流。为了提升Android Studio的系统健康,谷歌...

weixin_39667080的博客 178

android studio 热启动,android jvmti 应用之实现android studio 3.5 apply change功能(不重启的热修复哦)...

上一篇使用了jvmti 完成了计算objecSize的功能,这次重点介绍一下如何实现android studio 3.5 apply change 功能,即如何在不重启应用的前提下运行时修改class,这里提一点android jvmti 是android p才开始提供的,然后只能运用于debug1. 效果图out.dex中存放着修复之后的Test.class log输出为 修复的Test,然后最...

weixin_29889665的博客 540

android studio apply,android jvmti 应用之实现android studio 3.5 apply change功能(不重启的热修复哦)...

上一篇使用了jvmti 完成了计算objecSize的功能,这次重点介绍一下如何实现android studio 3.5 apply change 功能,即如何在不重启应用的前提下运行时修改class,这里提一点android jvmti 是android p才开始提供的,然后只能运用于debug1. 效果图out.dex中存放着修复之后的Test.class log输出为 修复的Test,然后最...

weixin_35070578的博客 268

Android studio 连手机 调试 修改了源码,怎么重新调试生效?

在 Android Studio 中修改源码后,可以通过多种方式使修改生效。首先,使用 Apply Changes 功能(快捷键 Ctrl+F10)进行热更新,若涉及界面布局改动,则需选择 Apply Changes and Restart Activity(快捷键 Shift+F9)。对于无法通过热更新生效的修改(如资源文件替换、Manifest 变更),需重新编译安装 APK。其次,手动触发完整编译,清理旧编译文件并重新构建项目,同时禁用可能导致冲突的热更新功能。此外,通过 ADB 命令强制终止应用进程

xyzroundo的专栏 1170

android studio 设置热部署

在Android Studio中,要设置热部署(Hot Swap)功能,您需要启用Instant Run。Instant Run是一种Android Studio的功能,它允许您在不重新启动应用程序的情况下快速部署更改。在Android Studio 2022.3.1 中,Instant Run 已经被移除,取而代之的是 Apply Changes 功能。现在,当您运行应用程序时,Android Studio将尝试使用热部署功能来快速部署更改,而不需要重新启动应用程序。

qq_38559397的博客 3578
下一篇: 三星手机判断输入法是否显示的方法
唐家小罗
博客等级 码龄8年 2粉丝 2原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值