240 发简信
IP属地:浙江
  • ExoPlayer-跳过静音原理

    ExoPlayer AudioProcessor处理模型 ExoPlayer内部维护了一个AudioProcessChain,它的作用就是串联各...

    0.2 14 0 1
  • kotlin协程-取消机制

    为了实现结构化并发,其中一个很重要的命题就是协程的取消。 在使用kotlin协程进行开发前,有两个概念我们始终是绕不开的, 一个是协程本身,一个...

    0.2 42 0 1
  • 如何确定项目使用的ndk版本?

    查看项目中是否有显示配置,可使用ndk关键字在项目中全局搜索,包括gradle和local.properties,如果没有则按照如下步骤。 对d...

  • apk签名方案

    V1签名 (JAR签名)最传统的签名方式在APK的META-INF目录下生成三个文件:MANIFEST.MFCERT.SFCERT.RSA优点:...

  • Dynamic Feature技术 坑点分析

    dynamic feature是Google利用了安卓系统自带的split apk机制提供的官方‘插件化‘方案,通过使用此技术,我们可以做到模块...

  • 弱字符和中性字符

    方向性相关字符效果Left-to-Right (LTR)强字符从左至右(英文字母、汉子以及世界上大部分左->右书写的文字)方向性确定,LTR 或...

  • kotlin构造函数默认值编译器是如何处理的?

    当我们给构造函数指定了默认值,并且存在重载的构造函数, 比如如下场景 如上代码场景,kotlin是如何决定在重载的时候调用哪一个构造函数呢? 首...

  • Wav格式扩展- ListChunk

    我们在自行编写Wav播放器的时候,有的时候发现经过ffmpeg处理后的wav文件头大小不再是44字节大小,使用 二进制分析工具可以看到其中有一个...

  • kotlin协程-runBlocking

    runBlocking是kotlin提供的一个协程启动函数,它的作用是运行指定的中断函数,同时保证在runBlocking的协程体执行完成之前,...

个人介绍
听雨的声音,感受整个世界的孤独。