写点什么

疫情让“灵活用工”浮出水面,一线互联网公司面经总结

用户头像
Android架构
关注
发布于: 3 小时前
[](

)一,初级入门篇:


一 绘制图片


1. ImageView 绘制图片


2. SurfaceView 绘制图片


3. 自定义 View 绘制图片



二、AudioRecord API 详解



三、使用 AudioRecord 实现录音,并生成 wav


  • 创建一个 AudioRecord 对象

  • 初始化一个 buffer

  • 开始录音

  • 创建一个数据流,一边从 AudioRecord 中读取声音数据到初始化的 buffer,一边将 buffer 中数据导入数据流。

  • 关闭数据流

  • 停止录音



四、用 AudioTrack 播放 PCM 音频


1.AudioTrack 基本使用


  • MODE_STATIC 模式

  • MODE_STREAM 模式


2.AudioTrack 详解


  • 音频流的类型

  • Buffer 分配和 Frame 的概念

  • AudioTrack 构造过程


3. AudioTrack 与 MediaPlayer 的对比


  • 区别

  • 联系

  • SoundPool



五、使用 Camera API 采集视频数据


1.预览 Camera 数据


2.取到 NV21 的数据回调


**六、使用 MediaExtractor 和 MediaMuxer A


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


PI 解析和封装 mp4 文件**


1.MediaExtractor API 介绍


2.MediaMuxer API 介绍


3.使用情境



七. MediaCodec API 详解


1.MediaCodec 介绍


2.MediaCodec API 说明


3.MediaCodec 流控


  • 流控基本概念

  • Android 硬编码流控

  • Android 流控策略选择



由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:

[](

)二,中级进阶篇:


  • Android OpenGL ES 开发(一): OpenGL ES 介绍

  • Android OpenGL ES 开发(二): OpenGL ES 环境搭建

  • Android OpenGL ES 开发(三): OpenGL ES 定义形状

  • Android OpenGL ES 开发(四): OpenGL ES 绘制形状

  • Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图

  • Android OpenGL ES 开发(六): OpenGL ES 添加运动效果

  • Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件

  • Android OpenGL ES 开发(八): OpenGL ES 着色器语言 GLSL

  • Android OpenGL ES 开发(九): OpenGL ES 纹理贴图

  • Android OpenGL ES 开发(十): 通过 GLES20 与着色器交互

  • 使用 OpenGL 显示一张图片

  • GLSurfaceviw 绘制 Camera 预览画面及实现拍照

  • 使用 OpenGL ES 完成视频的录制,并实现视频水印效果


[](

)高级探究篇:


  • 深入学习音视频编码,如 H.264,AAC,研究使用开源编解码库,如 x.264,JM 等

  • 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4

  • 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等

  • 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器

  • 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能

  • 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能


音视频编解码技术


  • 音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准

  • 音视频编解码技术(二):AAC 音频编码技术


流媒体协议


  • 流媒体协议(一):HLS 协议

  • 流媒体协议(二):RTMP 协议


多媒体文件格式


  • 多媒体文件格式(一):MP4 格式

  • 多媒体文件格式(二):FLV 格式

  • 多媒体文件格式(三):M3U8 格式

  • 多媒体文件格式(四):TS 格式

  • 多媒体文件格式(五):PCM / WAV 格式


以上资源均免费分享给大家,内容均放在了开源项目:**[【Github】](


)**,大家可以自行获取。


[](


)插件化、组件化、热修复开发




组件化作为 Android 客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个 Android 开发团队也在尝试和实践不同的组件化方案,并且在组件化通信框架上也有很多高质量的产出。

[](

)怎样实现组件化


要实现组件化需要考虑的问题主要包括下面几个:


  • 代码解耦。将一个庞大的工程拆分解耦,这是非常耗时耗力的工作,但这也是最基础最重要的一步

  • 数据传递。每个组件都有可能提供给其他组件使用,主项目与组件、组件与组件之间的数据传递


UI 跳转。


  • 组件的生命周期。组件加载、卸载和降维的生命周期

  • 集成调试。在开发阶段如何做到按需的编译组件?一次调试中可能只有一两个组件参与集成,这样编译的时间就会大大降低,提高开发效率。

  • 代码隔离。如何杜绝耦合的产生。


下面给大家介绍的是全网最全的高级 Android 组件化强化实战手册,覆盖了整个互联网公司,受篇幅限制不会展示所有内容,只能截图展示部分,完整内容已整理成 PDF 文档。



现今插件技术的使用非常普遍,比如微信、QQ、淘宝、天猫、空间、携程、大众点评、手机管家等等这些大家在熟悉不过的应用都在使用。


插件技术可以给项目开发带来巨大的好处,比如:并行高效开发、模块解耦、解除单个 dex 函数不能超过 65535 的限制、动态更新升级、按需加载等等。


掌握好插件技术,需要如下的安卓基础和相关知识,例如:


  • Android 应用程序安装,加载过程

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
疫情让“灵活用工”浮出水面,一线互联网公司面经总结