首页 文章 精选 留言 我的

精选列表

搜索[android],共10000篇文章
优秀的个人博客,低调大师

阿里巴巴朱中明--Android热修复技术分析和阿里的技术实践

【51CTO.com原创稿件】在WOT2016移动互联网技术峰会上,阿里朱中明老师为我们讲解热修复里面问题。第一讲解热修复的技术,第二讲解HotFix。 热更新和热修复的区别 通常所说的热更新和热部署都是对这个已经发布的客户端代码做一个更新,这里面有一个不同点,热更新强调它是一种实时更新和微小改动,而在热部署里面讲的是在工具链和工程上的完整的更新周期。 拦截技术 因为在热更新里面其实只讲到了两个比较重要的点,第一个就是拦截。这个拦截在业界里面,现在只有三种方面,第一种是类替换,第二种是AOP,第三种是方法直接替换。它在兼容性是最好的,在任何的产品上应该都是能使用的。缺点它主要是以class为单位做更新,因为它不能做某一个具体部分的更新。它其实有两个缺点,第一有一定的性能损失,第二在多数情况下都需要重启的。 拦截器 做java的都知道这个叫AOP。通过AOP的开发,它的性能损失是几乎无损,并且它并不需要做重启。但是它有两个比较大的问题,第一个兼容性不太好,因为它涉及到VM底层的实现。第二这个patch代码是一个专用的代码,这个代码以后不会在你的工程里面有任何的留存,相当于里就是一个补丁,它是一个真正的补丁。 方法替换 方法替换的优点跟拦截器几乎是差不多的。第一个它的力度非常小,导致它的patch包会相对小。第二个在性能上面其实是没有任何损失的。除了第一次把这个子项的地方改进之后,就没有任何的损失。它会有一些缺点,第一个在兼容性上会有一些问题,因为它也会涉及到底层的VM实现。第二同样它在编写的时候是有一些限制的,比如说可能不能改属性,改方法的时候有一些或多或少的限制,包括不能使用放弃所以也会存在这个代码可能有一定的专业有限的可能性,这也算一个缺点。 安全加护的工具 这个工具对我们来说是非常致命的。其实安全加护的工具并不是对代码做的,大部分的安全加护的工具做两块事情,第一个把APK包的结构做了一个变化,第二把一些资源的名字和一些位置做了一些串,主要是增加了一些成本。安全这件事情永远都是一个游戏,这个游戏是循环下去的。并且安全这个东西是非常灰色的。很多人知道它的破解过程非常简单,就是把APK解开,把里面的代码和东西。其实那个代码里面就是有问题的,把所有的签名全部抹掉,重新抹一遍,就会有问题。所以在打这个包之前,是不能用安全加护的。 本文作者:刘晓旭 来源:51CTO

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册