摘要:一、FFmpeg 学习材料 1. 官方API文档 FFmpeg Documentation:http://www.ffmpeg.org/doxygen/trunk/index.html 2. 优秀开源项目 a). FFmpeg_Tutorial : https://github.com/yinwen 阅读全文
posted @ 2019-02-21 17:02 灰色飘零 阅读 (684) 评论 (0) 编辑
摘要:Android 音视频开发这块目前的确没有比较系统的教程或者书籍,网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联积累起来。 初级入门篇: Android 音视频开发(一) : 通过三种方式绘制图片 Android 音视频开发(二):使用 AudioRecord 采集音频P 阅读全文
posted @ 2017-08-30 13:02 灰色飘零 阅读 (20120) 评论 (2) 编辑
摘要:下面这些资源对Android开发来说是很有帮助的! 1. 在线编程书籍/教程集合 Android 官方网站 说明:Android 官方网站,Android 程序员必备,里面的内容100%靠谱,且有很多新东西和使用Guide,对英语的阅读能力要求有点高,需要上外网! 地址:http://develop 阅读全文
posted @ 2017-03-17 17:42 灰色飘零 阅读 (720) 评论 (0) 编辑
摘要:ffplay的源码地址:http://ffmpeg.org/doxygen/trunk/ffplay_8c_source.html ffplay中有两个队列一个PacketQueue, 一个FrameQueue,下面我们对队列中AVPacket和AVFrame关系进行分析和说明。 一、AVPacke 阅读全文
posted @ 2020-01-20 14:45 灰色飘零 阅读 (15) 评论 (0) 编辑
摘要:1. NDK 入门 NDK 开发第一课:环境配置与第一个 JNI 程序 2. NDK 开发 NDK 开发之 log 输出工具类 NDK 开发之耗时统计工具类 NDK 开发之 “文件夹遍历” NDK 开发之 Bitmap 的使用 NDK/JNI 开发之 Java 类和 C 结构体互转实例演示 3. J 阅读全文
posted @ 2020-01-14 17:22 灰色飘零 阅读 (9) 评论 (0) 编辑
摘要:一、名词解析 PCM(Pulse Code Modulation)也被称为脉码编码调制,PCM中的声音数据没有被压缩,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。采样转换方式参考下图进行了解: 音频采样包含以下几大要素: 1. 采样率 采样率表示音频信号每秒的数字快照数。该速率决定 阅读全文
posted @ 2020-01-04 14:01 灰色飘零 阅读 (54) 评论 (0) 编辑
摘要:一、责任链模式 责任链模式是一种行为模式,为请求创建一个接收者的对象链.这样就避免,一个请求链接多个接收者的情况.进行外部解耦.类似于单向链表结构。 优点: 1. 降低耦合度。它将请求的发送者和接收者解耦。 2. 简化了对象。使得对象不需要知道链的结构。 3. 增强给对象指派职责的灵活性。通过改变链 阅读全文
posted @ 2020-01-02 20:20 灰色飘零 阅读 (83) 评论 (0) 编辑
摘要:一、Word、Excel、PPT 展示 1. 微软Office公开Api接口 如果文档内容不是很机密或者只是需要实现预览文档的话,可以考虑使用微软的公共Api接口实现。 微软Office公开Api地址为:https://view.officeapps.live.com/op/view.aspx? 在 阅读全文
posted @ 2019-12-11 22:17 灰色飘零 阅读 (85) 评论 (0) 编辑
摘要:本来之前觉得Android项目优化系列的文章基本整理完毕了,但是近期看了一下《阿里Android开发手册》有了很多收获,想再整理一篇,下面就开始吧。 先在这里列一下之前整理的文章及链接: Android 项目优化(一):项目代码规范优化 Android 项目优化(二):启动页面优化 Android 阅读全文
posted @ 2019-12-04 19:20 灰色飘零 阅读 (137) 评论 (0) 编辑
摘要:需求: 近段时间正好有一个需求,是要实现Gif图只加载播放一次,并且要在Gif播放完毕后回调给系统的需求。 因为Glide 3系列的API与4系列还是有很大差距的,这里我们针对Glide 3.x和Glide 4.x的分别进行实现方案的说明。 解决方案: 在Glide3.x的解决方案: Glide.w 阅读全文
posted @ 2019-12-01 07:52 灰色飘零 阅读 (128) 评论 (0) 编辑
摘要:在经过上面铺垫后,我们可以尝试整体实现一下插件化了。这里我们先介绍一下最简单的实现插件化的方案。 一、最简单的插件化实现方案 最简单的插件化实现方案,对四大组件都是适用的,技术面涉及如下: 1). 合并所有插件的Dex,来解决插件的类的加载问题。 2). 预先在宿主的AndroidManifest. 阅读全文
posted @ 2019-11-28 14:16 灰色飘零 阅读 (85) 评论 (0) 编辑
摘要:在前面的文章中我们成功的加载了外部的Dex(Apk)并执行了插件的Bean代码。这时我们会想,能不能加载并运行插件Apk的Activity。答案当然是能,否则后续我们的研究就没意义了,但是想实现Activity的插件化运行,我们必须要解决一个问题——如何使用插件中的资源。 本文我们就讲一下插件的资源 阅读全文
posted @ 2019-11-25 17:28 灰色飘零 阅读 (77) 评论 (0) 编辑
摘要:在学习Java反射的技术后,我们可以开始更深一步的探究插件化开发了。首先先讲一下Android App的打包流程,然后我们通过一个简单的例子 —— 实现插件化加载外部Dex来完成初级的插件化开发的探索。 一、Android App 打包流程 1. 打包资源文件,生成R.java文件 打包资源的工具是 阅读全文
posted @ 2019-11-21 14:10 灰色飘零 阅读 (62) 评论 (0) 编辑
摘要:写在前面:学习插件化开发推荐书籍《Android 插件化开发指南》,本系列博客所整理知识部分内容出自此书。 在之前的项目架构的博文中,我们提到了项目插件化架构,提到插件化架构不得不提的到Java中最强大的技术 —— Java 反射技术,反射技术基本是贯穿整个插件化最核心的基础技术,下图是本人整理的插 阅读全文
posted @ 2019-11-18 15:31 灰色飘零 阅读 (75) 评论 (0) 编辑
摘要:目前移动端应用市场已经是百花齐放,很多独角兽公司都是通过App创业发展起来的,现在App类型更加丰富,功能越来越完善,基本上涵盖了各个行业的每个角落。为了开发出更加有竞争力的App,不仅需要功能上有创新,内容也需要更加多元化,这样就出现了相对巨大的工程。这些工程代码不停添加,如果没有一个好的架构,那 阅读全文
posted @ 2019-11-04 13:50 灰色飘零 阅读 (86) 评论 (0) 编辑
摘要:在之前我们讲了很多能够优化 Android 开发项目质量的方案,这些方案更多的是从一些比较专精的方向切入的,阐述的是一些比较重要且独立的优化方案。 本文我们将总结一下在日常开发过程中我们能够使用的一些优化项目的技巧和方案。 一、RecycleView 优化 RecycleView在开发时可以考虑以下 阅读全文
posted @ 2019-11-01 13:11 灰色飘零 阅读 (76) 评论 (0) 编辑
摘要:介绍了前面的优化的方案后,这里我们在针对应用的启动优化做一下讲解和说明。 一、App启动概述 一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序。 应用程序启动有主要分为两种状态,每种状态都会影响应用程序对用户可见 阅读全文
posted @ 2019-10-31 11:45 灰色飘零 阅读 (160) 评论 (0) 编辑
摘要:在之前的文章中我们总结过跟Android 内存相关的知识或者问题,这里先列举一下: 1. Java 内存回收机制——GC机制 2. Java 对象引用方式 —— 强引用、软引用、弱引用和虚引用 3. Android Studio 使用Memory Monitor进行内存泄露分析 4. Android 阅读全文
posted @ 2019-10-30 21:28 灰色飘零 阅读 (67) 评论 (0) 编辑