Android音频技术攻略-FFmpeg相关 FFmpeg 是一个开源跨平台多媒体框架,提供音视频的解封装、编解码、转码与流媒体处理能力。 一、FFmpeg 提供的核心能力 建议按“为什么选 FFmpeg -> 需要哪些能力 -> 如何落地 -> 代价与取舍”来梳理。 一句话结论:FFmpeg 的价值不只是“能解码”,而是“可控地稳定解码并统一输出 PCM”。 1.1 多媒体能力总览 解封装(Demux):从 MP3& 2026-02-16 #音视频
Bitmap分析 Bitmap简介位图文件(Bitmap),扩展名可以是.bmp或.dlb。它将图像定义为由像素组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩。 在安卓系统中bitmap图片一般是以ARGB_8888来进行存储的。 颜色格式 每个像素占用内存(byte) 每个像素占用内存(bit) ARGB_8888(默认) 4 32 ALPHA_8 1 8 AR 2019-01-28 #Android
Fragment相关 Android中展示界面一般是通过Activity去实现的,当要实现类似商城类的首页时,就会拿出Fragment去实现对应的每个标签页,由Activity进行管理。 Fragment介绍Fragment存在必须依附于FragmentActivity使用,并且与FragmentActivity一样,拥有自己独立生命周期,同时可以处理用户的交互动作。并且可以在一个Activity中动态的添加、 2018-01-10 #Android
Git常用指令及作用(速查) loggit log //显示提交信息git log –oneline //简要日志输出git log –oneline -5 //输出最近5次提交日志 statusgit status //显示当前git状态git status -s //简要信息 git push origin HEAD:ref 2019-12-06 #Git
Gradle学习笔记-Project Project对应着项目中的build.gradle文件,每个gradle文件被解析后都会生成一个Project对象。所有build.gradle中定义的属性及方法都可以通过Project进行调用。 常用属性参考资料Project官方文档 2019-06-14 #Gradle
Gradle学习笔记-Task Gradle的两个重要的概念:Project和Task,一个Project由多个Task组成。 Task Gradle脚本中的最小执行单元,也是Gradle中的一个原子操作。 Task Result(任务结果)当Task执行时,最终控制台都会输出执行的结果,后面都会带有一个标签,这些标签表示了是否有Task需要执行,是否执行了Task等状态。 结果标签 结果描述 如何触发 没有标 2019-05-08 #Gradle
AOP学习笔记-APT APT全称Annotation Processing Tool-注解处理器,用于在代码编译期间解析注解并生成新的Java文件,减少手动的代码输入。 主要通过生成注解类所在类的代理类,在运行期直接调用代理类中的方法实现功能。 注解处理方案-反射注解处理方案-APT 2019-04-17 #AOP
SparseArray简析 HashMap在Android开发中是一种常用的数据结构类型,但是占用内存方面相对会比较大,而且复杂的机制导致运行效率也不高。所以Android系统提供了SparseArray以及ArrayMap来对其进行替代。这也是Android性能优化的一种手段。 SparseArray SparseArray可以对key为Integer类型的HashMap进行替代。还有 LongSparseArray 2019-01-28 #源码解析
Android-动画分析 Android的动画就可以分为3种: View动画 View Animation 帧动画 Drawable Animation 属性动画 Property Animation 1.View动画 View动画的作用对象是View。View动画的View移动只是视觉效果,并不能真正的改变位置。 View动画的种类 种类 标签 子类 效果 平移动画 <translate> 2018-06-11 #Android
Android硬件加速 软硬件绘制的分歧点绘制过程入口位于ViewRootImpl.performDraw()中 123456789101112131415//viewRootImpl.java private void performDraw() { ... try { //调用draw()执行实际的绘制工作 boolean 2020-10-27 #Android
Android-线程相关 在Android中进程一般指代App,线程又分为 主线程:进程所拥有的线程,默认情况下一个进程只有一个线程,这个线程就是主线程。Android中对应UI线程 子线程:工作线程,除主线程以外的线程都是工作线程。Android中的子线程的作用是处理耗时任务,比如网络请求,IO操作。 ThreadJava多线程基础 AsyncTask 轻量级的异步任务,可以在线程池中执行后台任务,然后把执 2018-12-21 #Android
Android中的Hook Hook主要使用场景是 绕过系统限制,修改已经实现的代码 动态化,调用隐藏的API 插件化、组件化 主要有如下几种Hook类型,会特别针对几类进行详细分析 Android进程结构 Linux进程 Art/Dalvik虚拟机 (为Java提供运行时环境) Java Framework / Java App ClassLoader 内存管理 Native区 2025-10-02 #Hook