自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ConcurrentModifcationException 的 what、why、how

ConcurrentModifcationException、Fast-Fail、快速失败检查机制、List并发操作

2024-04-03 10:43:23 1723 1

原创 Apk瘦身脚本 - 图片批量压缩

Apk初级瘦身神器 - 图片批量压缩脚本

2024-04-01 17:54:44 207

原创 为什么匿名内部类会持有外部类对象?

发现了吗,java编译器构建了一个名为Outer$1的类去实现、继承匿名内部类对应的类,并构建了一个有参构造器,入参规则是:外部类对象 + 匿名内部类使用到的外部类中的成员变量(上面用到了外部类的字符串,构造的有参构造器就会增加这个String的参数)答案是延时任务对象是通过匿名内部类构建的,其拥有外部类对象,这就让Activity退出后,GC释放不了Activity对象所占用的内存块,引发内存泄漏。可以看到,我们在构建Inner对象时,是通过无参构造器构建的,不会将外部类对象传入静态内部类的情况。

2024-02-23 18:25:50 1487

原创 Handler 泄漏场景、解决方案、深入理解

是的话,结果会是什么,会造成什么问题?手机内存是有限的,供我们应用可使用的对象更是少之又少,那问题就来了,我们平时打开的Activity、Fragment、以及其他new出来的对象,都是需要占用内存的,当这些对象不需要用到时,这些对象占用的内存是怎么回收以便重新分配给新new的对象的?”的跟对象作为起始节点集,以这些节点为开始,根据引用关系向下搜索,搜索走过的路径称为“引用链”,不在引用链内的对象是不可达的,允许被GC回收(此时并不是非死不可,有兴趣的可以度娘查一下GC对象的自救)为什么移除了就可以呢?

2024-02-23 12:30:02 1628

原创 Android GestureDetector支持View拖动、长按拖动

Android 简单实现View拖动、View长按拖动

2024-02-22 19:12:40 325 1

原创 ViewModel 唯一性原理解析、生命周期管理解析

ViewModel横竖屏切换、ViewModel生命周期

2023-03-24 12:39:02 509 1

原创 Apk瘦身脚本 - 无用代码剔除

【代码】Apk瘦身脚本 -

2024-04-03 10:44:53 114 1

原创 Apk瘦身脚本 - res资源可用性检查

在一些大一点的项目,Lint在执行之后会Run很长时间,且只是给你找出问题点。在瘦身时可能存在一定量的res需要剔除,用Lint检查起来就会相对慢一些,且有些Code删除之后我们也需要重新检查其是否有引用哪些layout、drawable等,这些也是可以一并检查删除的。Lint可以帮我们检索项目中可能存在错误的地方,平时功能代码写完后,也建议大家用其检查一下代码,帮助我们提高代码的健壮性。下面是脚本代码,实现起来相对简单暴力,直接放在Android项目下运行即可。

2024-04-01 18:12:19 159

原创 Android 不同XML相同ID名怎么输出到Apk中

哇唔

2023-08-02 12:13:34 168

原创 Android APK瘦身

Apk瘦身-初级

2023-08-02 10:44:50 34

原创 Android Lifecycle 使用、原理解析

Lifecycle使用及原理

2023-03-28 18:11:57 93

原创 Java设计模式 - 适配器模式

适配器模式

2023-03-28 11:24:21 52

空空如也

空空如也

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

TA关注的人

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