年度归档: 2022年

40 篇文章

Android-小点记录
1. Fragment状态保存和恢复 可以参考ViewPager的FragmentStatePagerAdapter适配器中的处理 // 保存 FragmentManager.saveFragmentInstanceState(fragment) // 还原 Fragment.setInitialSavedState(SavedState) 2. …
Android-View可见性检测
fun View.onVisibilityChange( viewGroups: List<ViewGroup> = emptyList(), // 会被插入 Fragment 的容器集合 needScrollListener: Boolean = true, block: (view: View, isVisible: Boolean…
Android-混淆
1. 混淆设置参数 -optimizationpasses 5 # 代码混淆的压缩比例,值介于0-7,默认5 -verbose # 混淆时记录日志 -dontoptimize # 不优化输入的类文件 -dontshrink # 关闭压缩 -dontpreverify # 关闭预校验(作用于Java平台,Android不需要,去掉可加快混淆) -do…
Android-JavaPoet
1. 添加依赖 dependencies { implementation 'com.squareup:javapoet:1.13.0' } 2. 具体使用 文章地址
Android-反射
package jnidemo.hlq.com.hookdemo; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; public class Reflex { /** * 获取无参构造函数 *…
Android-MutableContextWrapper和IdleHandler
MutableContextWrapper 可以初始预加载使用其他Context,真正使用传入对应的Activity的context WebSettings webSettings = myWebView.getSettings(); webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); webSe…
Android-5.0以下MultiDex加载时间优化
1. 思路 将MultiDex加载多dex合并的耗时操作放在一个新的进程进行加载。新建进程创建一个临时文件tempFile,加载完成后删除这个文件并结束当前新建进程。主进程轮询判断tempFile是否存在-不存在说明加载完成,进行后续的步骤。 MultiDex 会将apk转为zip,并遍历zip获取每个dex 并也转为zip (根据DexPathL…
Android-图片加载开源库比较
引用类型 被垃圾回收时间 用途 生存时间 强引用 从来不会 对象的一般状态 JVM停止运行时终止 软引用 当内存不足时 对象缓存 内存不足时终止 弱引用 正常垃圾回收时 对象缓存 垃圾回收后终止 虚引用 正常垃圾回收时 跟踪对象的垃圾回收 垃圾回收后终止