- 这是一次给小白的ASM字节码插桩的入门逻辑。
- 由于研究了一下美团的Robust库的玩法,了解到了字节码插桩的一些基础知识,于是简单学习了一下ASM字节码插桩的使用。
- 这是我从上手开始进行插桩的整体链路过程,虽然只是初探,但是也确实学习到了不少东西。在这里给有兴趣的同学,做一个引入吧。
基础知识
依赖冲突问题由来:
- Android开发中,我们使用第三方依赖库实在太正常不过了。
- 最基本的一些三方库,比如图片缓存的Glide、网络请求的Retrofix、流式API的RxJava等。
- 但是往往工程项目增大之后,我们还涉及到组件化的问题。当我们把Module拆分的足够精细的时候。三方依赖的问题就会显得十分突出。
maxEms踩坑
使用
- 使用maxEms的方法其实也很简单,xml里直接使用:
android:maxEms="7"
效果:
- maxEms的作用其实简单说来就是为TextView限定宽度。
- 宽度限定的效
Android Studio停止任务

git bisect二分法的王炸
前言
- 我们在研发过程中,经常会碰到很多疑难杂症。有时候这些疑难杂症,你都不知道是什么时候发生,什么原因引起的。当这些问题出现的时候,尤其如果在发版前碰到,所有人都要无头苍蝇一样抓狂。
- 但是,问题也还是要定位要解决的,一行行看代码肯定不合适。所以如果有了git bisect二分法,我们其实可以很
RecyclerVIew莫名其妙滚动
- 今天在开发过程中发现,有的手机,RecyclerView在点击跳走到另外页面再返回的时候,会出现莫名其妙的的自动滚动。
- 现象大概如下:
- 第一次进入A页面,A中有RecyclerView
- 点击其中元素,跳转到B页面,彻底遮盖A页面
-
随后返回A页面,
Android Bitmap压缩的坑
- 微信小程序分享时,微信要求的分享小程序大小有限制,印象中是图片的大小不能超过128KB。
- 所以在过程中针对性地将bitmap进行了压缩。没想到遇到了PNG压缩的一个小坑。
- 特此记录下。
Bitmap压缩
茴香豆有几种写法:
- 朋友,如果你真的是来看茴香豆的写法的话,那对不起!没有!我不会!
- 但是,关于单例,你知道有几种写法呢?
- 单例的懒汉式、饿汉式都是什么意思?枚举单例又为什么被大神推崇?还有那个变量前面莫名加上volatile是什么意思?
- 今天我们来看看单例设计模式的一些讨论。
聊聊ThreadLocal:
前言
- 在之前的文章里,Looper、Handler等等,我们都对源码进行了解析,只剩下最后一个疑问点,那就是Looper的存放。
- 我们能看到,Looper被创建出来以后,是被放到ThreadLocal内部进行存储的。这个ThreadLocal到底是何方神圣呢?
Loo
前言:
- 在上一篇Handler文章中,我们详细探讨了Handler的sendMessage函数都做了一些什么操作。
- 接下来,我们来看一看消息被Handler塞进MessageQueue中以后,后续的操作都是什么,最后又是怎么样交回给Handler的。
Looper
Looper是什么呢?