Heyanle 的 2022 年度总结

看到好多人都发了总结,我也跟风来一个 斯卡蒂真可爱!面试暑期实习3 月 到 5 月我在面试各大公司的暑期实习,这是我今年压力最大的时候,特别是 4 月份的时候,一方面,当时收到了许多感谢信,包括 字节 Tiktok(吐槽一下,一开始笔试,然后每一面都有 Hard 题,最后三面没写出来),蚂蚁 IO
年度总结 heyanle 2022 2023 2023年01月28日 751次浏览

jetpack compose + mvi , Closure 开发记录

最近没时间精力肝游戏了,把方舟交给了挂机平台:https://arknights.host/不过网页着实不方便,打算写个练手项目,顺便学习一下 Jetpack Compose 和 MVIGithub:https://github.com/heyanLE/Closure需求效果:技术选型界面使用 je
Compose Closure Android kotlin coroutines Kotlin 2022年12月30日 525次浏览

ShardPreference 源码分析

使用了很多,但都没具体分析过。现在来分析一下 ShardPreference 的源码。挖个坑,可能后续会更新 mmkv 系列,用来做个对比。SharedPreferences 接口首先我们先看看我们平时如何使用:class MainActivity : AppCompatActivity(){
Android Java 数据存储 2022年04月28日 1,364次浏览

第二章 常用的系统播放器 MediaPlayer

第二章 常用的系统播放器 MediaPlayer2.1 状态图及生命周期MediaPlayer 的状态图其中单箭头为同步方法调用,双箭头为异步方法调用Idle 状态及 End 状态Idle 状态可以理解为空闲状态,当创建实例或者调用 reset 后,就处于该状态。调用 release 后,就会变成
Android 音视频开发 Android 音视频 Java 音视频编解码 2022年04月25日 1,477次浏览

第一章 音视频基础知识

第一章 音视频基础知识1.1 视频解码两个系列:MPEG:由 ISO 下属的 MPEG (运动图像专家组)开发的一系列视频编码。有 MPEG1(VCD 使用),MPEG2(DVD使用),MPEG4(DVDRIP 使用其变种 DivX、XviD 等),MPEG4 AVC(正热门)。还有音频解码方面,如
Android 音视频开发 Android 音视频 音视频编解码 2022年04月18日 1,270次浏览

Android 音视频开发

Android 音视频开发 学习笔记最近被春招搞得有点焦虑,赶紧学习来应对焦虑。《Android 音视频开发》开坑第一章 音视频基础知识第二章 常用的系统播放器 MediaPlayer第三章 管理调度的服务者 MediaPlayerService第四章 StagefrightPlayer(Aweso
Android 音视频开发 Android 音视频 音视频编解码 2022年04月18日 1,322次浏览

第二章 Java 内存区域与内存溢出异常

第二章 Java 内存区域与内存溢出异常Java 运行时数据区运行时数据区中,虚拟机栈、本地方法栈、程序计数器为线程私有,一个线程一个。虚拟机栈每个线程执行的时候存放栈帧的栈。栈帧中有局部变量表来存储局部变量。局部变量表以槽(Slot)的形式存储。其中 long 和 double 类型占用两个槽,其
Java jvm 深入理解 Java 虚拟机 2022年03月10日 809次浏览

第十三章 热修复原理

第十三章 热修复原理13.1 热修复的产生刚发布的版 出现了严重的 Bug ,这就需要去解决 Bug 测试并打包在各个应用市场上重新发布,这会耗费大量的人力和物力,代价比较大。已经改正了此前发布版本的 Bug,如果下 个版本是一个大版本, 那么两个版本的 间隔时间很长,这样要等到下个大版本发布再修复
Android 进阶解密 类加载 热修复 2022年03月07日 809次浏览

第十二章 理解 ClassLoader

热修复和插件化是目前比较热门的技术,要想更好地掌握它 需要先了 ClassLoader。12.1 Java 中的 ClassLoader12.1.1 ClassLoader 的类型1. Bootstrap ClassLoaderC/C++ 编写的加载器,用于加载 JDK 的核心类,如:java.la
Java Android 进阶解密 类加载 2022年03月07日 769次浏览

Java 并发编程艺术 #1 JVM 层面

以下内容为 《Java 并发编程艺术》中 JVM 层面的并发笔记。主要为 前三章内容Java 对象头其中 Mark Work 用于存储对象 HashCode、分代年龄和锁标记位,根据锁的不同状态,会存储不同的数据,以下是 32 位 虚拟机 在不同状态 Mark Work 存储的数据全局安全点线程执行
Java Java 并发编程的艺术 JMM 线程通讯 jvm 2022年02月27日 768次浏览