🌓

[鸿蒙]写了个基于Hexo博客的鸿蒙App

最近部门也在跟进鸿蒙平台的业务开发,自己主要是做 Android 开发,主要使用 Kotlin/Java 语言。,需要对新的开发平台和开发模式进行学习,在业余时间开了个项目练手,做了个基于 Hexo 博客内容开发的App。鸿蒙主要使用ArkTS语言和ArkUI框架进行开发,有使用 Jetpack Compose 和 JavaScript/...

阅读全文

KV-存储之mmkv

在平时的业务中,需要用到轻量级存储业务中的数据(例如设置数据存储),绝大多数时候 Anroid 管法提供的 SharedPreferences 组件就能实现,但针对一些需要高效的场景它就不那么使用了,不适合存储大量数据、多线程操作的不安全性、数据明文不安全性,以及不支持多进程之间的调用等各种问题。MMKV的诞生就是为了解决以上的问题,本文主要对 MMKV ...

阅读全文

RetroFit2 源码学习相关

研究 retrofit 目标:理解动态代理、注解、反射、学习它所用到的设计模式,达到自己能手写它的核心实现。 最近终于有点精力能够去研究研究源码了, 真的是写的一个非常好的的开源库,以前刚接触安卓的时候扒拉过相关的源码,但是随着工作了几年之后,经验的积累,让我对源码里面的东西能够体会更深刻,自己也尝试去手写里面的核心实现,看完源码对整体的架构理解了之后,以为...

阅读全文

Android屏幕刷新机制

最近在研究 Android 屏幕显示与渲染相关的内容,平时经常看到这些类 ViewRootImpl、Choreographer、Surface 、 SurfaceFlinger等,知道它们都用于屏幕渲染相关,但对它们细节了解较少,相关的文章也比较多,不需要自己完全重新再编写一份,于是对相关内容进行一个总结,主要来源:《Android屏幕刷新机制—VSyncC...

阅读全文

关于 pthread_key_t 导致的 Android Crash 的探索

此前我负责的 SDK 已集成多个司内业务,一切运行正常,最近在接入到一些游戏项目中的时候发现存在比较多关于 libc.so 的 crash,在游戏中某个场景会使用SDK 进行逻辑处理,在部分手机会在短时间就直接 Crash,且集中在性能比较好的手机中。经过一番折腾,最后被定位在了一个跟 SDK 没有什么关系的地方:pthread_key_t Crash 表现...

阅读全文