Bundle Parcel 和 ClassLoader

前言

前几天看到同事在讨论 动态代理类加载器 的一些问题,其实这些技术无论是客户端还是后端都已经用烂掉了。

动态代理 cglibjdk.Proxy 基本是 Java 后端面试的 “八股” 送分题。

DataBinding 解读

前言

Android 的应用层架构,其实一直在缓慢的进步,但是 Android 开发工程师却很少有进步。比如我,直到 2021 年才开始使用 dataBinding。

我初步在 RecyclerView 的 item 中试用了一下,感觉还是挺不错的。

工作中遇到的代码反例

前言

最近一直都是 copy 工程师和 scapegoat 工程师

不过也发现了一些些问题,也用来警示自己以后写代码 尽量 考虑全面(人无完人···)

反例1-下次进入 App,回到上次退出的页面

如下图

/img/in-post/tab-example.jpg

Java 泛型的见解

前言

写 RecyclerView 的 Adapter 时,感觉到了泛型理解不够深刻,也不够熟练,看了几天的泛型文档

https://docs.oracle.com/javase/tutorial/java/generics/index.html

下面的总结均是对于文档的学习和一些代码示例的运行。

为什么要使用泛型

代码复用

通常的代码复用是提取一个公共参数的函数,函数中的参数传的是各种不同的值。泛型也是类似,只不过泛型可以用于定义 class、interface、method 等等,泛型传递的是不同的 type。

Kotlin Coroutines VS Goroutines

前言

最近一直在看 Kotlin 协程,因为以前也写过 Golang,所以试着去对比了一下,发现了很多好玩的事情。

两种协程的比较

一个 Kotlin 的小例子

试问下面一段代码,执行结果是什么呢?

Kotlin Scope Function

前言

经常看公司里的人写的一些基础库(基于 Kotlin)看不太懂,总有各种关键字和函数,不知道他们是在刻意用还是咋地,所以学一波,就从出现次数最多的 Scope Function 开始了。

半天入门了下 kotlin

最近好多人都在用 kotlin 了,我真实接触并且使用 kotlin 的时候是 2019 年。那个时候也依葫芦画瓢写了一篇《lateinit 和 by lazy 》的文章

但是,当时写代码还是停留在 if-else、 for 循环等等,跟 java 代码没什么区别,所以并没有深入的理解。

FFmpeg 简易播放器

1.FFmpeg 和 SDL 下载

可以直接去官网下载源码自己编译或者下载已经编译好的版本

比如我直接用

brew install ffmpeg –with-sdl2

之后 /usr/local/Cellar 下就会有 ffmpeg 和 sdl2 了

2.开发环境

这里使用的是 MacOS + CLion

随便新建一个空工程就好,写好 CMakeLists 就好