Android开发
文章平均质量分 88
步基
深耕音视频领域,系统架构
展开
-
stable AIDL
stable AIDL原创 2022-10-22 14:48:14 · 1996 阅读 · 0 评论 -
AIDL用法
aidl进程通信用法,适用范围,与其他IPC进程通信比较原创 2022-10-08 16:53:33 · 1135 阅读 · 0 评论 -
ijkplayer播放器
ijkplayer播放器原创 2022-09-23 13:56:29 · 2259 阅读 · 0 评论 -
android播放器:MediaPlayer ExoPlayer ijkplayer
android播放器:MediaPlayer ExoPlayer ijkplayer比较原创 2022-06-16 15:03:03 · 4032 阅读 · 0 评论 -
Common API学习
Common API,TCP/IP socket与UNIX Domain socket区别原创 2022-08-12 11:22:41 · 2832 阅读 · 0 评论 -
android rc文件启动服务
android rc文件启动服务原创 2022-08-10 11:11:30 · 2667 阅读 · 0 评论 -
android HAL 执行权限写法
android HAL 执行权限写法原创 2022-08-08 17:22:02 · 2071 阅读 · 0 评论 -
audio service详解
车载音频相关的服务,以下基于android11部分服务摘录。原创 2022-08-05 10:46:46 · 2011 阅读 · 0 评论 -
android多媒体文件扫描
媒体文件扫描原创 2022-08-04 11:35:38 · 2578 阅读 · 0 评论 -
audio_policy_configuration.xml配置文件详解
音频策略配置文件原创 2022-08-03 14:15:32 · 1917 阅读 · 0 评论 -
音频焦点仲裁策略
音频焦点仲裁策略原创 2022-07-15 19:53:12 · 1316 阅读 · 0 评论 -
audiopolicy
audiopolicy audioflinger audiohal原创 2022-07-04 14:56:20 · 1833 阅读 · 0 评论 -
android音频框架
audiotrack,audiopolicy,audioflinger之间的关系原创 2022-06-27 09:18:52 · 2362 阅读 · 0 评论 -
android硬编解码MediaCodec
一 mediacodec简介 MediaCodec 类可以用来访问底层媒体编解码器,即编码器/解码器的组件。 它是 Android 底层多媒体支持架构的一部分(通常与 MediaExtractor,MediaSync,MediaMuxer,MediaCrypto,MediaDrm,Image,Surface 和 AudioTrack 一起使用)。 编解码器可以处理三类数据:压缩数据、原始音频数据、原始视频数据。a Compressed Buffers 压缩缓冲区输...原创 2022-05-26 21:00:08 · 5082 阅读 · 1 评论 -
SurfaceFlinger详解
Surface进行merge可以采用两种方式,一种就是采用软件的形式来merge,还一种就是采用硬件的方式,软件的方式就是我们的SurfaceFlinger,而硬件的方式就是Overlay。 SurfaceFlinger 是一个独立的Service, 它接收所有Window的Surface作为输入,根据ZOrder, 透明度,大小,位置等参数,计算出每个Surface在最终合成图像中的位置,然后交由HWComposer或Ope...原创 2022-05-24 14:12:02 · 2604 阅读 · 0 评论 -
Binder详解
本文简要介绍binder,AIDL,HIDL进程通信原理,并提供了了一个binder通信例子原创 2022-05-22 12:27:26 · 4215 阅读 · 0 评论 -
android log
一 架构1 应用层api: 在应用层,安卓系统封装了日志系统的Java接口,Log.java, Rlog.java, Slog.java EventLog.java。应用开发者比较熟悉Log.java,系统开发者对 Rlog,Slog,EventLog, 接口会比较熟悉。这几个接口作用类似,都是写入日志,差别是写入logd的日志节点不同。 Java 接口封装在android.jar 中,作为SDK提供给开发者使用,在运行时通过libandroid_runtime.so 中的JNI..原创 2022-05-16 18:19:13 · 301 阅读 · 0 评论 -
android进程和线程
android进程按优先级从低到高分为五类:1 空进程:没有持有任何活动应用组件的进程,最低优先级,保留空进程的唯一理由是为了提供一种缓存机制,缩短应用下次运行时的启动时间。空进程在系统资源紧张时会被首先清除,但为了提高Android系统应用程序的启动速度,Android系统将会将空进程保存在系统内存中,在用户重新启动该程序时,空进程会被重新使用。2 后台进程:不包含任何已经启动的服务,没有用户可见的Activity的进程。系统资源紧张时,系统将优先清除用户长时间没有看到的后台进程。3 服务..原创 2022-05-13 17:37:00 · 1680 阅读 · 0 评论 -
android car源码分析
参考文章:Android Automotive(三)——CarAudioService(AndroidP)_tudouhuashengmi的博客-CSDN博客原创 2022-05-11 21:36:36 · 4051 阅读 · 1 评论 -
android源码结构分析
Android系统架构分为四层,从上到下依次是应用层、应用框架层、系统运行库层和Linux内核层。1 应用层位于整个Android系统的最上层,开发者开发的应用程序以及系统内置的应用程序都是在应用层。其中目录结构如下:apps:核心应用程序inputmethods:输入法目录providers:内容提供者目录screensavers:屏幕保护services:通信服务wallpapers:墙纸2 应用框架层是系统的核心部分,一方面向上提供接口给应用层调用,另一方面向下与C/C++程原创 2022-05-09 15:32:49 · 844 阅读 · 0 评论 -
多媒体框架
Multimedia框架,包含MediaPlayer, Camera, Surface, MediaRecord。MediaPlayer类是用于控制playback的视频/音频文件 及 流。camera2框架CmaeraManager: 摄像头管理者,这是一个全新的系统管理者,专门用户检测系统摄像头,打开系统摄像头,除此之外,调用CameraManager的getCameraCharacteristics(String)方法即可获取指定摄像头的相关特性。CameraCharacterist原创 2022-05-05 21:30:22 · 2364 阅读 · 0 评论 -
Android Jetpack
与后台执行任务相关的API变更:从android4.4系统开始AlarmManager的触发时间由原来 的精准变为不精准,5.0系统中加入了JobScheduler来处理后台任务,6.0系统中引入了Doze 和App Standby模式用于降低手机被后台唤醒的频率,从8.0系统开始直接禁用了Service的后 台功能,只允许使用前台Service。WorkManager的两个重要特点1.针对不需要及时完成的任务比如,发送应用程序日志,同步应用程序数据,备份用...原创 2021-11-02 17:51:14 · 2694 阅读 · 0 评论 -
kotlin核心之协程
协程是轻量级线程(官方表述)协程就是方法调用封装成类线程的API。方法调用当然比线程切换轻量;而封装成类线程的API后,它形似线程(可手动启动、有各种运行状态、能够协作工作、能够并发执行)。因此从这个角度说,它是轻量级线程没错。当然,协程绝不仅仅是方法调用,因为方法调用不能在一个方法执行到一半时挂起,之后又在原点恢复。这一点可以使用EventLoop之类的方式实现。想象一下在库级别将回调风格或Promise/Future风格的异步代码封装成同步风格,封装的结果就非常接近协程了。而协程和线程之间的原创 2021-11-01 10:33:42 · 272 阅读 · 0 评论 -
Android四大组件之Activity
一 简介本文讲解Activity 与 Window、PhoneWindow、DecorView 之间的关系。 Window官方文档:Windowpublic abstract class Window. Abstract base class for a top-level window look and behavior policy. An instance of this class ...原创 2021-10-27 21:43:11 · 87 阅读 · 0 评论 -
Android组件之ContentProvider
ContentProvider(内容提供者)是 Android 的四大组件之一,管理 Android 以结构化方式存放的数据,以相对安全的方式封装数据(表)并且提供简易的处理机制和统一的访问接口供其他程序调用。Android 的数据存储方式总共有五种,分别是:Shared Preferences、网络存储、文件存储、外储存储、SQLite。但一般这些存储都只是在单独的一个应用程序之中达到一个数据的共享,有时候我们需要操作其他应用程序的一些数据,就会用到 ContentProvider。而且 Android原创 2021-10-25 17:23:00 · 1689 阅读 · 0 评论 -
Dalvik 和 ART虚拟机
1. Dalvik 虚拟机Dalvik 虚拟机(Dalvik Virtual Machine),简称 Dalvik VM 或者 DVM。它是 Google 专门为 Android 平台开发的虚拟机,运行在 Android 运行时库中。DVM 并不是一个 Java 虚拟机,原因如下。1.1 DVM 与 JVM 的区别DVM 没有遵循 JVM 规范来实现,与 JVM 主要区别如下:1. 基于的架构不同JVM 的执行的指令是基于栈结构,这就意味着需要去栈中读写数据,所需的指令会很多,会导致速度原创 2021-10-19 10:42:42 · 1430 阅读 · 0 评论 -
kotlin android开发
kotlin语法Android系统,linux内核,davik虚拟机,多进程,线程,四大组件,内存分配与回收原创 2021-10-09 17:43:41 · 199 阅读 · 0 评论