自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Android soong build编译系统浅析

//Todo

2019-05-02 10:51:12 1314 1

原创 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

Watershed分水岭分割算法

Watershed分水岭分割算法,学习一下吧哈哈哈

2013-03-22

Thresholding阈值分割

Thresholding阈值分割,学习一下吧,啊哈哈

2013-03-22

Snake活动轮廓模型

Snake活动轮廓模型,学习一下吧,哈哈

2013-03-22

Image Segmentation图像分割

Image Segmentation图像分割,学习一下吧,哈哈

2013-03-22

Image Registration图像配准

Image Registration图像配准,学习一下吧

2013-03-22

Graph Cut基于图割的图像分割算法

Graph Cut基于图割的图像分割算法

2013-03-22

腾讯微博项目

腾讯微博项目,可以直接运行,学习学习吧呵呵呵

2013-03-22

新浪微博开发项目

新浪微博开发项目,有文档,程序,等等,很好地学习资料

2013-03-22

模仿酷狗的音乐软件

模仿酷狗的音乐软件,可以直接运行的,学习学习吧

2013-03-22

谷歌2013校园招聘笔试题

谷歌2013校园招聘笔试题,下载看看吧,哈哈

2013-03-22

阿里巴巴2013笔试题

阿里巴巴2013笔试题,挺好的,大家可以下载看看

2013-03-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除