- 博客(9)
- 资源 (11)
- 收藏
- 关注
原创 Android性能优化-verifyclass
同事反映说,京东电器界面打开加载慢,我就趁机抓了下trace分析一下这个界面。通过trace,我们可以看到打卡过程主要是下面三个部分耗时较多,第一部分是打卡dex文件(注意这是一个二级页面,理论上不需要加载dex文件,难道是插件化机制?),第二部分里面很多verifyclass,第三部分是加载x5webview。
2023-02-15 14:35:15 1064 3
原创 Android开发中,我们java层崩溃时,虚拟机发生了什么?
1 背景熟悉Android开发的同学都知道,如果我们应用程序中发生了java层的崩溃,我们可以通过下面方式捕获, Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(@NonNull Thread t, @NonNull Throwable e) { Log.i
2021-09-24 17:55:26 871
原创 art中反优化HDeoptimize
我们知道在Android虚拟机中,虚拟机将dex文件编译成机器码的过程中,首先会将dex文件,转化为IR文件,然后在将IR文件进行优化后,翻译成相应的机器码。其中IR全称是 intermediate representation,是LLVM独创的中间表达式. 经典的compiler架构由前端frontend(读入源代码, 通过词法, 语法与语义分析建立AST), 中端optimizer(优化模块)与backend(通过指令选择, 寄存器分配等阶段最终输出为目标架构的汇编)。HBoundsCheckEli
2021-09-22 12:00:41 466
原创 利用Android9.0虚拟机的JVMTI技术实现一些黑科技
Java生态中有一些非常规的技术,它们能达到一些特别的效果。这些技术的实现原理不去深究的话一般并不是广为人知。这种技术通常被称为黑科技。而这些黑科技中的绝大部分底层都是通过JVMTI实现的。形象地说,JVMTI是Java虚拟机提供的一整套后门。通过这套后门可以对虚拟机方方面面进行监控,分析。甚至干预虚拟机的运行但是Android的ART虚拟机是没有这个功能的,幸...
2020-02-24 14:35:32 4395
原创 Android SDK接口业务和实现分离
几年前,系统厂商在给第三方或者兄弟部门,提供SDK时,大多数方案是提供通用的SDK源码方案。所谓的SDK源码,无非是写了很多文件,定义了很多接口,然后打包成一个jar文件,最后可能对外的接口不混淆,内部实现混淆一下,提供给其他人使用。随着业务的发展,比如说平台越来越多,SDK的最终实现可能都不一样,但是如果还是使用这种方案,是不现实的。 这时,SDK接口业务和实现的分离...
2019-06-05 18:47:25 1208
原创 android9.0 framewrok.jar push到system/framework不起作用,解决方式。
android9.0 framewrok.jar push到system/framework不起作用,解决方式: adb push out/target/product/xxx/system/framework/boot-framework.vdex /system/framework/ adb push out/target/product/xxx/system/framewor...
2019-03-12 16:33:33 4203 7
原创 ANR相关问题分析解决方法
第一章 Android ANR第一节 什么是ANR最直观的情况,当你使用一款Android APP时,系统弹出一个对话框,显示“xx无响应。要将其关闭吗?”。这就是一个应用ANR的场景,你可以选择强制关闭当前应用,也可以等待应用继续执行。在Android中,系统通过显示ANR警示框来保护程序的长时间无响应。类似的警示界面在PC的操作系统中也会见到。第二节 Android UI单线程...
2018-10-26 14:17:37 4790
原创 Android快速启动窗口技术
以Android7.0为例,我们知道Android应用在启动时候,PhoneWindowManager会添加一个空白启动窗口,叫做addStartingWindow,在界面加载完毕后,会removeStartingWindow。 /** {@inheritDoc} */ @Override public View addStartingWindow(IBind...
2018-07-15 10:20:53 1273
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人