![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 90
Chiclaim
于
展开
-
深入理解 Java 泛型
彻底搞懂 Java 泛型原创 2023-10-14 11:17:46 · 577 阅读 · 2 评论 -
Kotlin return 和 loop jump
至此,我们就介绍完了 kotlin 中的 return 及经典循环和 forEach 中的 return、break、continue。原创 2023-09-02 11:10:33 · 968 阅读 · 0 评论 -
Kotlin inline、noinline、crossinline 深入解析
主要内容:如果有C语言基础的,inline 修饰一个函数表示该函数是一个内联函数。编译时,编译器会将内联函数的函数体拷贝到调用的地方。我们先看下在一个普通的 kotlin 函数上使用 inline 关键字:会发现 IDE 会给出警告:建议我们在高阶函数上使用 inline 关键字。好,那我们来看下高阶函数。下面是一个简单的高阶函数,函数参数是一个 function type 类型:编译后对应的 Java 代码为:会将 function type 编译成 Function0 类型,因为 action:原创 2023-09-02 09:55:39 · 1239 阅读 · 0 评论 -
Android组件化治理(二)组件代码管理
本文对应的视频版本可以查看我的 bilibili 视频链接 《Android组件化治理(二)组件代码管理》,欢迎如果对您有帮助可以一键三连哦~ Android组件化治理(二)组件的代码管理 背景随着组件越来越多,组件的代码管理也变得比较麻烦。例如 clone 代码,如果项目有几十上百个组件,我们不可能挨个执行 git clone,这样效率太低了,所以我们需要一套管理组件代码的工具。.原创 2022-05-05 19:57:53 · 1074 阅读 · 1 评论 -
Java设计模式实战 ~ 深入理解代理模式
本文详细介绍了静态代理、动态代理,还详细分析了 JDK 动态代理的源码分析,最后介绍了代理模式和装饰模式的区别原创 2019-09-16 21:08:01 · 2858 阅读 · 2 评论 -
Android 性能优化 ~ 包体积优化实战
概述用户通常都不愿意去下载一个比较大的程序,特别是不在 WIFI 的情况下。如果你的安装包很小,用户还是愿意下载安装体验下的。现在市面上满足某种需求的 App 通常都会有很多款,如何让用户愿意下载你的 App 来体验?安装包越小,在 WIFI 情况下,极速下载安装,开始体验。在移动网络情况下,包体积越小,用户安装的的可能性越大。所以安装包大小对用户的转换率有很大的影响。接下来就和大家分享下我在实...原创 2020-03-29 23:54:27 · 5167 阅读 · 0 评论 -
Android Jetpack(三)LiveData 组件原理剖析
Jetpack 源码分析系列:Android Jetpack(一) Lifecycle 组件原理剖析Android Jetpack(二)ViewModel 组件原理剖析Android Jetpack(三)LiveData 组件原理剖析本文主要内容:LiveData 简介LiveData 案例LiveData 原理分析Retrofit 整合 LiveDataLiveData...原创 2020-02-15 20:42:58 · 2539 阅读 · 0 评论 -
Android Jetpack(二)ViewModel 组件原理剖析
本文详细介绍了 Jetpack ViewModel 组件的使用和原理分析。原创 2020-02-06 18:23:18 · 3821 阅读 · 0 评论 -
Android Jetpack(一) Lifecycle 组件原理剖析
本文详解介绍了 Jetpack Lifecycle 的使用以及原理剖析。原创 2020-02-05 21:39:25 · 5274 阅读 · 0 评论 -
Android Retrofit 源码系列(五)~ 设计模式分析
前段时间研究了下 Retrofit 框架,也写了一些关于 Retrofit 的文章:Android Retrofit 源码系列(一)~ 原理剖析Android Retrofit 源码系列(二)~ 自定义 CallAdapterAndroid Retrofit 源码系列(三)~ 整合 RxJava、Coroutine 分析Android Retrofit 源码系列(四)~ 文件上传在阅...原创 2020-01-27 15:16:34 · 2142 阅读 · 0 评论 -
Android Retrofit 源码系列(四)~ 文件上传
本文主要介绍了 Retrofit 多图文上传功能,以及上传过程中遇到的中文乱码问题,我们从网页端、Android客户端、服务器端、Retrofit 源码角度 来分析了产生的原因及解决方案。原创 2020-01-18 18:20:10 · 3554 阅读 · 0 评论 -
Android Retrofit 源码系列(三)~ 整合 RxJava、Coroutine 分析
前面我们介绍了 Retrofit 的基本原来以及如何自定义 CallAdapter。今天我们来看看 Retrofit 是如何整合 RxJava、Kotlin Coroutine 的。整合 RxJavaRetrofit 结合 RxJava 使用非常简单,只需要将接口方法的返回类型改成 Observable 即可:private interface UserService { // O...原创 2020-01-17 14:43:41 · 2055 阅读 · 0 评论 -
Android Retrofit 源码系列(二)~ 自定义 CallAdapter
本文详细介绍了 Retrofit 如何自定 CallAdapter 达到统一处理网络错误的目的。文章的最后还介绍了 CallAdapter 的执行原理原创 2020-01-12 13:18:04 · 6426 阅读 · 0 评论 -
Android Retrofit 源码系列(一)~ 原理剖析
本文以简单的案例为引子,从源码的角度,详细的介绍了 Retrofit 的整个执行过程,以及 Retrofit 里的一些核心概念如 动态代理、CallAdapter、Converter 等等原创 2020-01-11 11:17:00 · 3007 阅读 · 0 评论 -
2019 年终总结 ~ 逆风起航
时间过的很快,2019 年过去了,迎来了崭新的 2020。今天做一个 2019 年终总结,算是对 2019 年的一个交代。主要总结下 2019 年技术上的成长、读书、理财、时间管理方面的东西。技术关于 Kotlin翻开 2019 年第一篇博客,竟然是 2019-1-2 晚上 1:27 发表的,真不敢想象 2019 年初还这么作,不把健康放在心上。现在呢,嗯,10 点半就得睡觉了。20...原创 2020-01-01 14:00:01 · 2788 阅读 · 0 评论 -
使用 Google Repo、Python脚本管理 Android 组件化项目
本文介绍了 Android 工程化过程中关于如何使用 repo 来管理 Android 组件化项目原创 2019-12-04 15:31:48 · 3100 阅读 · 9 评论 -
深入理解 Java 虚拟机(六)~ Garbage Collection 剖析
本文详细介绍了 JVM 关于 Garbage Collection 相关的知识点。读完本文相信你对 JVM 的垃圾回收机制有一个全面而系统的了解。原创 2019-11-24 21:57:39 · 2984 阅读 · 1 评论 -
深入理解 Java 虚拟机(五)~ 对象的创建过程
本文详细介绍了对象的创建过程如类的加载、内存的分配和初始化,分配内存时的同步方式,对象的初始化操作。还介绍了对象的内存布局,如对象头、实例数据、对齐填充。最后介绍了 Hotspot 如何进行对象的访问定位。原创 2019-10-15 19:36:09 · 2581 阅读 · 1 评论 -
深入理解 Java 虚拟机(四)~ 各种容易混淆的常量池
本文详细介绍了 Java 中的常量和字面量的区别,字节码中的常量池和运行时常量池的区别,最后详细介绍了字符串常量池和 String.intern 方法原创 2019-10-13 20:43:43 · 3072 阅读 · 0 评论 -
深入理解 Java 虚拟机(三)~ class 字节码的执行过程剖析
本文详细介绍了 Java 内存区域结构,方法的调用及方法调用的指令,方法重载解析及动态分派的实现原理,还介绍了 Java 对动态类型的支持。最后介绍基于栈的指令集和基于寄存器的指令集的区别。原创 2019-10-11 18:54:22 · 2496 阅读 · 0 评论 -
深入理解 Java 虚拟机(二)~ 类的加载过程剖析
本文详细介绍了类的加载过程:加载、验证、准备、解析、初始化,重点介绍了和我们开发息息相关的类加载器,类加载器死锁问题。原创 2019-10-05 22:35:33 · 4100 阅读 · 1 评论 -
深入理解 Java 虚拟机(一)~ class 字节码文件剖析
本文分析了字节码文件的组成,如魔数、字节码版本、常量池、字段、方法、属性等,还介绍了 invokeDynamic 指令,并分析了其实现原理;接着分析了字节码指令集, 并通过一个案例分析了其对应的指令,每执行完一个指令,展示其对应的操作数栈和局部变量表的情况。最后通过分析字节码的方式知道实际开发工作,加深对 Java 语言的理解深度,帮助我们编写更好的 Java 代码。原创 2019-09-30 16:31:59 · 7375 阅读 · 12 评论 -
Android NDK ~ Java 和 Native 交互
本文详细介绍了最常用的一些 JNI 函数使用方法以及注意事项原创 2019-09-21 22:43:52 · 2688 阅读 · 2 评论 -
Android NDK ~ 基础入门指南
本文介绍了 NDK 相关的概念如 ABI、JNI、NDK。如何使用 AndroidStudio 开发 NDK 程序。最后介绍了 JNI 的规范中的数据类型和描述符原创 2019-09-21 18:00:04 · 2134 阅读 · 0 评论 -
Java设计模式实战 ~ 总目录
本文主要是对前段时间研究设计模式和面向对象设计原则做一个总结归纳原创 2019-09-17 16:42:34 · 3175 阅读 · 0 评论 -
Java设计模式实战 ~ 装饰模式探究
本文详解介绍了装饰模式的原理、使用场景,通过日志案例介绍装饰模式的优势,最后分了装饰模式和适配器模式的区别原创 2019-09-15 12:08:25 · 7582 阅读 · 5 评论 -
Java设计模式实战 ~ 适配器模式分析与实战
本文详细介绍了适配器模式的原理、使用场景、优点,以及缺省适配器模式。最后通过真实案例介绍适配器模式的使用原创 2019-09-13 20:19:32 · 2224 阅读 · 0 评论 -
Java设计模式实战 ~ 深入理解建造者模式与实战
本文介绍了建造者模式的基本原理、建造者模式的演化、建造者模式与重叠构造函数/JavaBeans 模式的对比,还深入分析了建造者模式与静态工厂在真实案例的选择,最后通过真实项目演示了建造者模式的使用原创 2019-09-09 23:52:21 · 2398 阅读 · 1 评论 -
Java设计模式实战 ~ 单例模式分析与实战
本文介绍了单例模式的 5 种实现方式:饿汉、懒汉、DCL、静态内部类、枚举方式,最后介绍了 Android 开发中一个应用单例模式的场景原创 2019-09-08 21:23:35 · 4721 阅读 · 9 评论 -
Java设计模式实战 ~ 观察者模式分析与实战
本文主要介绍了观察者模式的原理、使用场景、JDK中的观察者模式、观察者模式的缺点、最后介绍了观察者模式在项目中的实践原创 2019-09-07 22:52:18 · 2966 阅读 · 0 评论 -
Java设计模式实战 ~ 模板方法模式分析与实战
本文介绍了日常开发中常用到的模板方法模式,详细介绍了模板方法模式的定义、优点、使用场景。最后通过项目中真实案例来讲解如何使用模板方法模式原创 2019-09-06 18:01:35 · 2750 阅读 · 0 评论 -
Java设计模式实战 ~ 面向对象 6 大设计原则剖析与实战
本文介绍了设计模式的基本分类、通过案例的方式介绍面向对象的 6 大设计原则,最后通过项目案例分析如何使用面向对象的设计原则原创 2019-09-05 20:09:41 · 5624 阅读 · 11 评论 -
(十)Flutter FutureBuilder 优雅构建异步UI
如何使用 Flutter FutureBuilder 优雅构建异步UI, StreamBuilder 和 FutureBuilder 之间的异同点原创 2019-08-25 15:33:32 · 2429 阅读 · 0 评论 -
(九)Android 项目集成 Flutter 模块
如何在已有的 Android 项目中集成 Flutter 模块, 本文介绍了两个集成的方式, 一种是源码依赖, 一种是 AAR 的方式依赖原创 2019-08-23 20:34:35 · 1976 阅读 · 1 评论 -
(八)Flutter 和 Native 之间的通信详解
本文详细介绍了 Flutter 与 Native 之间的通信方式, 通过案例的方式介绍了MethodChannel、EventChannel、BasicMessageChannel 不同的使用场景和区别原创 2019-07-28 23:03:27 · 3192 阅读 · 1 评论 -
(七)Flutter 学习之开发环境搭建
本文介绍了 Flutter 开发的环境搭建以及常用的 Flutter 命令原创 2019-07-27 21:52:44 · 1363 阅读 · 0 评论 -
(六)Flutter 学习之 Dart 异步操作详解
本文详细介绍了 Dart 的异步操作,详细讲解了 Future 和 Stream 各个方面,让你对 Dart 异步有更全面的了解原创 2019-07-24 08:47:39 · 2439 阅读 · 0 评论 -
(五)Flutter 学习之 Dart 面向对象详解
本文详细介绍了 Dart 面向对象,以及 Dart 一些特有的语法功能,最后重点介绍了功能强大的 Mixin 特性原创 2019-07-22 08:36:19 · 974 阅读 · 0 评论 -
(四)Flutter 学习之 Dart 操作符、控制流和异常处理
本文介绍了 Dart 条件表达式、常用操作符、操作符重载、控制流语句、断言、异常处理原创 2019-07-08 16:56:56 · 1306 阅读 · 0 评论 -
(三)Flutter 学习之 Dart 函数
本文介绍了 Dart 函数、函数的可选参数、位置参数、参数默认值、匿名函数、作用域相关知识原创 2019-07-06 15:30:22 · 1216 阅读 · 1 评论