240 发简信
IP属地:江西
  • 120
    安卓CPU高占用问题定位方法

    今天测试报了一个问题说我们都某个应用从top命令看cpu占用到了百分之90几,这种问题要怎么分析呢? 首先adb连接上去之后用logcat | grep 应用进程pid查看看...

  • 120
    安卓UVC控制协议入门

    最近的项目里面需要对UVC摄像头进行操控,简单的了解了下相关的知识。 首先UVC全称为USB video(device) class,是微软与另外几家设备厂商联合推出的为US...

  • 120
    Android so链接的一些坑

    SONAME缺失 前几天遇到了个比较诡异的链接问题,分析下来感觉挺有意思的。 背景是我们导入了供应商给的几个so,编译成功之后在机器上运行出现链接报错: libcjson.s...

  • 120
    NDK编译OpenSSL

    最近协助同事交叉编译openssl,整理了下知识点准备出个交叉编译的入门教程。其实多年前写过一篇写给安卓程序员的C/C++编译入门[https://www.jianshu.c...

  • 120
    Windows蓝屏dump文件分析入门

    之前的一篇笔记<Windows Dump文件分析>[https://www.jianshu.com/p/08e5508454bd]介绍了应用dump的生成方式和调试手法,有稍...

  • 120
    dlopen failed与so的命名空间

    之前的Android热更新实践[https://www.jianshu.com/p/7cf0f1419498]里面使用替换默认ClassLoader的方式实现了热修复,但偶然...

  • 120
    HDMI简单入门

    最近做的音视频项目里面需要深入到hdmi的硬件实现去定位问题,于是大概学习了一下hdmi的硬件知识,这里总结下做个简单入门。 hdmi是啥我就不说了直接看看它的针脚定义,后面...

  • 安卓RRO机制

    年前和组内的小伙伴讨论过一个需求的RRO实现方案。我其实之前对RRO也只是处于大概了解的程度,并没有实际去操作过,趁着过年这段时间有空也写了个demo实际验证了下。 由于官方...

  • Binder请求处理流程探究

    前段时间遇到个蛮有意思的bug,趁着春节有空刨根问底记录下来。 背景是我们有个调试工具运行在安卓机器上用于局域网内远程调试机器,其实就是用nanohttpd[https://...

  • 120
    Windows Dump文件分析

    dump文件获取 Windows上处理程序crash的问题可以通过分析dump文件来定位问题。那怎么拿到dump文件呢?有几种方式可以获取。 注册表配置dump文件生成目录 ...

  • Android PackageCache 机制

    今天突然接到bug说系统ota之后必现无法使用并且重启无法恢复,从日志上看个上个月往项目里面导入了热更新[https://www.jianshu.com/p/7cf0f141...

  • 再探C++自动注册

    最近的c++项目里面需要使用配置文件配置的值去决定运行时具体实例化的类。如果是java或者kotlin直接使用反射去创建就好,但是c++里没有类似的东西所以只能通过一些取巧的...

  • 120
    Android热更新实践

    前段时间一个小工具使用往ClassLoader的DexPathList的Element数组前面插入热修复dex[https://blog.islinjw.cn/2023/09...

  • mockk使用入门

    为了方便讲解我们写了一个小工具,支持把java的链式调用代码入去执行,它的核心调用逻辑如下: 假设我们我们实现上面三行代码的功能,可以先写一个最简单的解析调用空参数列表方法的...

  • 120
    Android进程冻结机制

    奇怪的ANR 今天遇到了个很有意思的anr问题, 应用出现了anr: 但是trace文件里面没有任何堆栈: 从日志上过滤进程pid可以看到正在正常的执行任务,还没有执行完就被...

  • ClassLoader类加载流程补充

    之前写过一篇ClassLoader的笔记[https://www.jianshu.com/p/17e79728a788]介绍了如何用ClassLoader去加载外部dex包,...

  • 120
    Windows调试技巧案例-ffmpeg&wave播放音频卡死问题

    最近在windows上开发音视频,遇到了读流卡死的问题.定位过程中学到了一些Windows上的程序调试技巧,这里记录一下。 WinDbg查看线程堆栈 最近的这个项目使用ffm...

  • 120
    Windows发送模拟按键的坑

    最近支援C++兄弟的项目里面有在windows下发送模拟按键的需求,整个功能做下来发现了不少的坑,这里记录下来。 首先Windows上发送模拟按键可以用SendInput[h...

  • TextureView清除摄像头最后一帧画面的原理探究

    最近协助一个摄像头相关的项目遇到了一个有意思的问题,这里记录一下。 原问题大概是使用TextureView预览摄像头,关闭摄像头之后画面会残留最后一帧,需要把他清除。我一开始...

个人介绍
有趣的东西那么多,为什么不去学呢?

个人博客: blog.islinjw.cn