🌓

关于 pthread_key_t 导致的 Android Crash 的探索

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

阅读全文

[译]软件开发人员的常青技能

最近在 Github 看到这一篇将程序员一直需要使用的非技术核心能力进行了总结,深受里面内容的启发,语言、框架都是会过时的,但有些技能无论是什么语言或者框架都是通用的,如果要在这个行业持续深根,那么这些非技术能力是必备的且实用的。本文在原文上进行翻译,并对文中提到部分专业术语进行了解释,以及对指向外部链接的文档内容作了一些简单的概述,希望能帮助到查看此文档的...

阅读全文

UTF-8字符编码相关

最近在 Windows 上开发一些逻辑的时候遇到一些关于中文的坑,中文路径会乱码,是由于 Window 系统默认的编码格式是 GBK,而传入的参数编码格式是 UTF-8,导致整个程序出错。后续使用了`MultiByteToWideChar 和WideCharToMultiByte 方法对编码进行一次改变,从而避免了这个问题的产生。但不了解相关原因,经过一番学...

阅读全文

实现一个自定义 FFmpeg Filter

此前在做 ffmpeg+某个第三库作为 filter 的集成,第三库是做AE特效相关的,与 ffmpeg 结合能让视频渲染效果大大提升。整体流程将第三方库作为 ffmpeg 的一个filter 形式进行结合,其中就涉及到 ffmpeg 的 filter 开发,本文即 对ffmpeg 的滤镜开发流程作一个总结。本文以实现一个视频垂直翻转的 filter 为例...

阅读全文

RecyclerView自定义LayoutManager从0到1实践

此前大部分涉及到 RecyclerView 页面的 LayoutManager基本上用系统提供的 LinearLayoutManager 、GridLayoutManager 就能解决,但在一些特殊场景上还是需要我们自定义 LayoutManager。之前基本上没有自己写过,在网上看各种源码各种文章,刚开始花了好多时间去理解整体流程,因为它们都给我一种非常...

阅读全文