之前使用speex做回音消除,不知道是没有用对还是其他什么原因,导致回音消除的效果非常差。 好在在GitHub找到了一个使用WebRTC做回音消除的例子Android-Aud...
之前使用speex做回音消除,不知道是没有用对还是其他什么原因,导致回音消除的效果非常差。 好在在GitHub找到了一个使用WebRTC做回音消除的例子Android-Aud...
JNI是什么? JNI的全称就是Java Native Interface,顾名思义,就是Java和C/C++相互通信的接口,就好比买卖房子都需要找中介一样,这里的JNI就是...
首先说一下关键点,在RecyclerView中实现拖拽排序时非常简单地,只需要个给RecyclerView添加一个ItemTouchHelper就可以实现,具体实现如下: 1...
前言 在日常的开发中,经常会有弹框的操作。实现弹框有两种选,PopupWindow或者Dialog,这里就先忽略Dialog。弹框可能会在各种位置出现,在指定View的上、下...
平时使用Handler的时候,我们都知道调用了Handler.sendMessage()方法后,消息会在handleMessage()中被处理,或者调用了Handler.po...
文章序号 Android gradle打包涉及task源码解析(一)准备工作[https://www.jianshu.com/p/e73510605c56] Android ...
xml 布局文件是如何变成 View 并填入 View 树的?带着这个问题,阅读源码,居然发现了一个优化布局构建时间的方案。 这是 Android 性能优化系列文章的第三篇,...
RecyclerView作为一个非常惹人爱的控件,有一部分的功劳归于它优秀的缓存机制。RecyclerView的缓存机制属于RecyclerView的核心部分,同时也是比...
为了解一些Andorid的构建流程,有时候需要阅读Android Gradle Plugin的相关源码的。自己阅读Android Gradle Plugin源码主要经历了三个...