自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 Android查找未用类和方法

    在Android中每个dex都有65535的限制,为了解决这个限制,可以采用自动拆包技术或手动拆包技术。但是由于DVM  LinearAlloc的限制,在5.0以下的系统中最多只能使用4个dex,而5.0及以上系统可以使用任意数量的dex。如果老板不忍心放弃4.X的系统,且当该APP足够大的时候,就会出现方法数天花板的问题。新的功能需求因为方法数超限,导致无法进版,这个时候就只能强逼各个业...

2018-05-06 19:06:55 8255 1

原创 Android View性能优化

      最近被公司外派到兄弟公司支援某个app的重构,业务重构过程中,有测试反馈说重构后的版本相比之前的版本出现了严重的卡顿问题,于是开始了View层级的性能优化。本篇文章主要是讲述View性能的发现、调试,不详细介绍View渲染的原理、调试工具如何使用等。不过本文会给出相应知识点的相关链接,大家如需详细了解,可点击进入对应文章。       本文从简略讲述View的渲染原理和三种常用View...

2018-04-15 16:24:50 3038

原创 SynchronizedList的同步问题

ArrayList是非线程安全的,在多线程中同时操作ArrayList会经常出现ConcurrentModificationException。为了解决同步问题,java提供了Collections的同步类:SynchronizedList、SynchronizedMap、SynchronizedSet等。以SynchronizedList为例,从字面意义上看,应该是线程安全的。在我们的代码中,我们

2017-09-02 14:36:50 3126

原创 Andfix源码分析

AndFix的原理是在加载补丁文件后,通过Native层使用指针替换的方式将老方法Method对象的方法指针替换成补丁包中新方法的,从而达到修复bug的目的。网上已经有很多文章都对Andfix的原理做了介绍,但绝大多数文章都是将重点放在了java层的介绍,对于native层进行的参数替换基本上都是一笔带过。而本文的重点就主要放在native层。

2017-07-31 13:12:05 382

原创 BlockCanary源码分析

BlockCanary是一个Android平台的非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。(作者原述)很敬佩作者能够写出这么高质量的代码,BlockCanary的代码设计简洁明了,结构清晰,从唯一的一行代码install走下来,很快就能了解到整个框架的思路。去网

2017-07-29 17:54:21 575

原创 Exiv2 With XMP for Android

Exiv2 With XMP for AndroidExiv2 With XMP for Android摘要编译环境安装独立工具链编译Expat编译Exiv2编译JNI so库源码摘要最近在从事VR行业,工作中需要将VR相机拍摄的360图片被各大VR平台识别,比如Facebook、Google Photo、LINE等。这些平台都是遵循google定的一套VR协议,详细可参考链接http

2017-07-29 13:01:40 1406

空空如也

空空如也

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

TA关注的人

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