android虚拟机及加载原理
文章平均质量分 78
android虚拟机及加载原理
龚礼鹏
Android应用架构师、AndroidFramework工程师、鸿蒙&openHarmony工程师、flutter开发工程师
展开
-
Could not find method导致VerifyError进而导致crash问题
在android 5.0以下手机有时会出现Could not find method导致VerifyError进而导致crash问题,写法如下所示:如上图在android 4.4手机上调用静态方法test1会报错如下:10-28 16:02:40.913 2792-2792/com.example.myapplication I/dalvikvm: Could not find method com.bumptech.glide.Glide.with, referenced from..原创 2021-10-29 00:33:17 · 1849 阅读 · 0 评论 -
android 进阶解密 第十五章 插件化原理
一.插件化的产生1.应用开发的痛点和瓶颈:①.业务复杂,模块耦合。②.应用接入,会导致需要维护多个版本和应用体积越来越大问题。③.65536限制,内存占用大。2.插件化思想:类似操作系统的思想,应用可以类比为插件,插件可以自由的进行插拔。插件化客户端由宿主和插件两部分组成。将一个应用按照插件式改造就叫插件化。二.插件化框架对比插件化框架 作者 插件化框架 ...原创 2020-07-20 23:08:52 · 368 阅读 · 1 评论 -
android 第十三章 热修复原理
一.热修复产生:1.刚发布的版本出现严重的bug,需要立刻解决。2.版本周期长,有问题会影响客户使用。3.版本升级率不高。4.有一个小而重要的功能需要短时间完成版本覆盖,例如节日活动。二.热修复框架的种类和对比类别 成员 阿里系 AndFix、Dexposed、阿里百川、Sophix 腾讯系 微信的Tinker、QQ空间的超级补丁、手机qq的QFi...原创 2020-07-20 23:09:07 · 317 阅读 · 0 评论 -
android 进阶解密 第十二章 理解ClassLoader
一.Java中的类加载器(ClassLoader)1.ClassLoader作用:通过ClassLoader来查找和加载class文件到java虚拟机中。2.ClassLoader类型:(系统加载器和自定义加载器)①.Bootstrap ClassLoader(引导类加载器):c/c++代码实现的加载器,用于加载指定的JDK的核心类库。②.Extensions ClassLoade...原创 2020-07-20 23:09:19 · 596 阅读 · 0 评论 -
android 进阶解密 第十一章 Dalvik和ART
一.Dalvik虚拟机1.DVM与JVM的区别:①.基于架构不同:JVM基于栈架构,DVM基于寄存器架构。②.执行字节码不同:JVM执行顺序是.java文件---->.class文件---->.jar文件。DVM执行顺序是.java文件---->.class文件---->.dex文件。③.DVM允许在有限的内存中同时运行多个进程。④.DVM由Zy...原创 2020-07-20 23:09:29 · 543 阅读 · 1 评论 -
android 进阶解密 第十章 Java虚拟机
一.概述。1.JDK:包含Java语言、Java虚拟机、Java API类库三部分,是Java程序开发的最小环境。2.JRE:包含Java SE API 子集和Java虚拟机两部分,是Java运行的标准环境。3.Java虚拟机:是整个Java平台运行的基石,是Java语言编译代码的运行平台。4.Java虚拟机家族:HotSpot VM,J9 VM,Zing VM。5.Java虚...原创 2020-07-20 23:09:41 · 600 阅读 · 1 评论