摘要: 概述: 1:Dagger2是编译时完成注入,没有采用反射,采用的是APT技术。 2:当我们需要对一段代码进行拦截修改的时候,我们有很多方案,最常见的是通过反射。但是反射是在运行时的工作,对性能有很大的影响,所以提出了APT技术,该技术可以在编译期对代码进行拦截,并进行修改,生成新的可执行的类。 ht 阅读全文
posted @ 2023-07-04 07:48 蜗牛攀爬 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1:APT(Annotation Processing Tool)是属于编译时IOC的一种工具。它是Java编译器提供的一个工具,用于处理在编译时使用的注解。APT通过注解处理器(Annotation Processor)在编译阶段扫描和处理源代码中的注解,并生成额外的代码或进行其他的处理操作。 A 阅读全文
posted @ 2023-03-31 08:55 蜗牛攀爬 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 1:替换DexElements流程: 插件化原理:https://www.cnblogs.com/wnpp/p/16053088.html 插件生成apk,宿主通过反射机制和类加载器(传入插件apk),获取到插件的dexElements,并将dexElements合并到宿主的类加载器的dexElem 阅读全文
posted @ 2023-03-14 08:18 蜗牛攀爬 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 1:用法: Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create(gson)) .baseUrl("https://api.github.com/") .build(); 阅读全文
posted @ 2023-02-24 08:30 蜗牛攀爬 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 1:事件从最底层的Activity开始分发 2:伪代码:Activity->ViewGroup->View 本质:从Activity开始,层层递归分发事件,到最顶层的View的onTouchEvent判断是否消费事件。 事件分发是从Activity到View,但是onTouchEvent的执行判断, 阅读全文
posted @ 2023-02-17 08:41 蜗牛攀爬 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 1:和Listview的不同: 1)Listview只支持纵向列表,RecyclerVeiw支持纵向、横向、网格以及瀑布流; 2)ListView是2级缓存机制,RecyclerView是4级缓存机制 3)ListView没有强制实现ViewHolder 2:ListView: 用法: @Overr 阅读全文
posted @ 2022-12-21 08:23 蜗牛攀爬 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 强制缓存: (1)HTTP响应报文中expires的时间值,是一个绝对值 (2)HTTP响应报文中Cache-Control为max-age=600,是相对值 由于Cache-Control的优先级比expires高,那么直接根据Cache-Control的值进行缓存,意思就是说在600秒内再次发起 阅读全文
posted @ 2022-11-02 09:55 蜗牛攀爬 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 以下从几个方面来总结一下Android的性能优化: 1:界面卡顿优化 2:内存优化 3:App启动优化 1:界面卡顿优化 Android的界面为每秒60帧,即必须在16ms内完成1帧的绘制,如果某个方法耗时过程,导致16ms内无法完成绘制,会导致丢帧,丢帧的多了,直观上感受就是界面卡顿。 60帧是人 阅读全文
posted @ 2022-03-28 09:02 蜗牛攀爬 阅读(1936) 评论(0) 推荐(0) 编辑
摘要: 1:Java 文件执行的过程: 编译阶段: 开发者使用 .java 文件编写Java源代码。 通过JDK中的 javac 编译器,.java 文件被编译成 .class 字节码文件。这一步骤是必要的,因为Java虚拟机(JVM)无法直接理解Java源代码。 为什么生成字节码: 字节码是一种中间代码形 阅读全文
posted @ 2022-03-25 08:56 蜗牛攀爬 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Handler的重点是:通过threadLocal,将thread和Looper绑定起来。许多地方直接调用这个,就可以得到Looper,进而得到一些列的 MessageQueue,handler等。一个线程只能有一个Looper,当然也只能有一个MessageQueue,但是可以有很多的Handle 阅读全文
posted @ 2022-03-23 09:10 蜗牛攀爬 阅读(680) 评论(0) 推荐(0) 编辑