maven publish dependency
今天 pull 工程,发现有个库的源码看不到,在 gradle external libraries 中也找不到,只能找到一个 api 接口层的代码
于是,就研究了一下原因
pom 文件
我们在向 maven 发布 aar 时,会生成对应的 pom 文件,告诉我们具体依赖哪些额外 lib
今天 pull 工程,发现有个库的源码看不到,在 gradle external libraries 中也找不到,只能找到一个 api 接口层的代码
于是,就研究了一下原因
我们在向 maven 发布 aar 时,会生成对应的 pom 文件,告诉我们具体依赖哪些额外 lib
最近 KMP 或者说 KMM 在移动端挺火,我非常好奇它是如何跨端的
看了一下官方文档,只知道是通过 LLVM 把 Kotlin 转为 IR 再转为目标平台二进制。这部分我目前还没去分析,因为 LLVM 相关的知识我实在知之甚少,后面也会去补足
为了公司内部写一篇软文,所以这篇文章重写了一下~~
今天给大家分享一种 arm64 平台下栈回溯的方式 —— fp(frame pointer) 回溯,同时会介绍一些基础概念和实现原理
首先,我们需要知道栈回溯是做什么的?
其实就是用于获取当前 thread 的调用堆栈的
最近不知道为什么,我司又开始缩减包体积了,在这个 app 都 100-200M 的年代,在这个 5G 遥遥领先的年代,不知道卷个啥?
那问题不大,既然有需求,我们照做便是
Android 包体积由多方面构成,这个我之前的文章里也有说过,所以包体积缩减的手段有很多,这个就不一一介绍了
前段时间看了下 Elk(十分简单的 JS VM,其实算是个 parser + interpreter 吧)的代码,学到了一些计算机基础的东西。
比如,我写代码这么久,甚至不知道 double 的内存结构和 7FF 代表什么。比如,因为没有系统学习过编译原理等等,没有 opcode 相关的概念,如何设计 interpreter(又想回去读书了···)。
一直想学习一下如何写一个 VM,但是苦于各种成熟 VM 代码量庞大,阅读困难,无从学起
即使 lua 的古老版本的代码,对于我这种没有任何编译背景和语言设计背景的人来说,很难理解源码在写什么、在处理什么问题
所谓 Android GC/JIT 抑制
,即是将 Android GC(部分)/JIT Task 处理任务的过程(Run 方法) hook,强行 sleep 一段时间。因为 JIT 和 GC 目前均为单线程执行,所以没有并发问题,也刚好阻塞后续任务。
最近遇到了一个有意思的问题,为了让首页更快的展示出来,将首页的请求提前到了 Application onCreate 阶段。但是带来了一个问题,请求的频次大大增加了,且对于后端来说,首页的请求还是比较消耗资源的。
最近帮 RN 业务方查内存泄漏问题,发现了 fbjni 这个库挺有意思的
正好借助 RN 源码例子,讲述一下 fbjni 是如何控制 java 和 c++ 层对象的生命周期的
下面会贴一些 RN 中的源码 和 fbjni 的源码,不用关心 RN 源码中的对象是做什么的,我们这里只关注对象如何被创建和如何被释放的
最近发现线上有一些 used recycled bitmap crash
似乎是问题一直存在,但是近期版本增多了,不过不是我负责,也不好多说什么
其实我觉得主要是造轮子的对于轮子本身理解不够深刻,导致的问题