Tags

keep hungry keep foolish
安卓开发

安卓 OpenGL ES 2.0 完全入门(三):2D 纹理的裁剪、翻转、旋转、缩放


安卓基础:App 各大组件


安卓基础:事件传递及滑动冲突的处理


安卓基础:View 绘制


Java 基础:动态代理、多态原理


安卓基础:task, launchMode, Intent flag


安卓基础:Activity/Fragment 销毁与重建


安卓基础:Activity/Fragment 生命周期


Java 基础:ThreadLocal,HashMap


安卓基础:Handler


OkBuck,一周年啦!


拆轮子系列:拆 RxJava


RESTful 安卓网络层解决方案(三):API model 与 Business model 分离


RESTful 安卓网络层解决方案(二):空 JSON 和 API Error 解析


RESTful 安卓网络层解决方案(一):概览与认证实现方案


拆轮子系列:拆 Okio


拆轮子系列:拆 OkHttp


拆轮子系列:拆 Retrofit


安卓 OpenGL ES 2.0 完全入门(二):矩形、图片、读取显存等


安卓 OpenGL ES 2.0 完全入门(一):基本概念和 hello world


完美的安卓 model 层架构(下)


完美的安卓 model 层架构(上)


BUCK 与 RetroLambda 兼容性解决方案


Dagger2 Scope 注解能保证依赖在 component 生命周期内的单例性吗?


RelativeLayout, FlexLayout 及其他 layout 性能对比


深入理解 RecyclerView 系列之二:ItemAnimator


打造鲁棒的安卓APP,从此告别 Activity Not Found 错误和 Activity State Loss 错误


深入理解 RecyclerView 系列之一:ItemDecoration


这可能是目前最详细的安卓task, launchMode, intent flag测试分析与总结了


从 A/Looper: Could not create epoll instance. errno=24 错误浅谈解决各种 bug 的思路


(可能是)目前最全面的Android Espresso配置指南了


手把手OkBuck教程:应用到AndroidTDDBootStrap项目(续)


解决A/libc Fatal signal 11 (SIGSEGV)错误,这可能是目前最鲁棒的Android声音录制和播放封装库了


完美解决安卓上层输入控件随键盘弹起,下层 UI 变形问题


OkBuck, underneath the hood


RxScreenshotDetector:Android 截屏检测


RxComboDetector:Android view点击“连击”检测


安卓通知栏消息点击启动Activity时“Intent flag残留”问题


Android Runtime Permission测试


手把手OkBuck教程:应用到AndroidTDDBootStrap项目


12行配置从Android Studio + Gradle构建体系开始使用facebook的BUCK构建体系


APP启动加速,以及使用FSA来处理状态转换避免Activity state loss


实时多媒体

Hack WebRTC 38316


Android 使用 OpenSSL 库


封装 libdatachannel Android 库


mediasoup 快速入门


Hack WebRTC 32599


在 WebRTC 项目外单步调试 WebRTC.framework 里的代码


OWT Server 进阶(三):RTCP 流程


RTP:Audio and video for the Internet 中文版阅读笔记


WebRTC 只编译 DataChannel


OWT Server 集群部署和扩缩容


使用 KITE 进行 WebRTC 自动化测试


WebRTC H.264 编码的 Profile 和 Level


OWT Server 进阶(一):音视频数据转发和录制流程


基于 Kotlin multiplatform 的多平台 WebRTC SDK


再探 H.264:句法元素详解


OWT Server 快速入门


WebRTC Native 源码导读(十五):RTP H.264 封包与解包


WebRTC Native 源码导读(十四):API 概览


为 janus-pp-rec 增加视频旋正功能


WebRTC Native 源码导读(十三):音频设备模块 ADM


macOS 下单步调试 WebRTC Android & iOS


WebRTC Native 源码导读(十二):P2P 连接过程完全解析


WebRTC Native 源码导读(十一):混音


WebRTC Native 源码导读(十):视频数据 native 层之旅


WebRTC Native 源码导读(九):iOS 视频硬编码实现分析


WebRTC Native 源码导读(八):iOS 视频渲染实现分析


WebRTC Native 源码导读(七):iOS 相机采集实现分析


YUV 数据格式完全解析


WebRTC Native 源码导读(六):iOS P2P 连接过程和 DataChannel 使用


我需要知道:H.264


WebRTC Native 源码导读(五):安卓 P2P 连接过程和 DataChannel 使用


WebRTC Native 源码导读(四):VideoCRE 与内存抖动优化


WebRTC Native 源码导读(三):安卓视频硬编码实现分析


WebRTC Native 源码导读(二):安卓预览实现分析


WebRTC Native 源码导读(一):安卓相机采集实现分析


开箱即用的 WebRTC 开发环境


解决A/libc Fatal signal 11 (SIGSEGV)错误,这可能是目前最鲁棒的Android声音录制和播放封装库了


WebRTC

Hack WebRTC 38316


封装 libdatachannel Android 库


mediasoup 快速入门


Hack WebRTC 32599


在 WebRTC 项目外单步调试 WebRTC.framework 里的代码


OWT Server 进阶(三):RTCP 流程


WebRTC 只编译 DataChannel


OWT Server 集群部署和扩缩容


使用 KITE 进行 WebRTC 自动化测试


WebRTC H.264 编码的 Profile 和 Level


OWT Server 进阶(一):音视频数据转发和录制流程


OWT Server 快速入门


WebRTC Native 源码导读(十五):RTP H.264 封包与解包


WebRTC Native 源码导读(十四):API 概览


为 janus-pp-rec 增加视频旋正功能


WebRTC Native 源码导读(十三):音频设备模块 ADM


macOS 下单步调试 WebRTC Android & iOS


WebRTC Native 源码导读(十二):P2P 连接过程完全解析


WebRTC Native 源码导读(十一):混音


WebRTC Native 源码导读(十):视频数据 native 层之旅


WebRTC Native 源码导读(九):iOS 视频硬编码实现分析


WebRTC Native 源码导读(八):iOS 视频渲染实现分析


WebRTC Native 源码导读(七):iOS 相机采集实现分析


WebRTC Native 源码导读(六):iOS P2P 连接过程和 DataChannel 使用


使用 WebRTC 静态库进行 NDK 开发


WebRTC Native 源码导读(五):安卓 P2P 连接过程和 DataChannel 使用


WebRTC Native 源码导读(四):VideoCRE 与内存抖动优化


WebRTC Native 源码导读(三):安卓视频硬编码实现分析


WebRTC Native 源码导读(二):安卓预览实现分析


WebRTC Native 源码导读(一):安卓相机采集实现分析


开箱即用的 WebRTC 开发环境