自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 【工具相关】Android音视频开发(14)——FFmpeg及x264的编译

本文讲解了Android中FFmpeg的编译,分为准备工作和编译工作,使用到了MSYS2、FFmpeg源码、git、x264源码、android ndk

2022-04-28 13:01:12 749

原创 【学习】从零开发的Android音视频开发(13)——MediaCodec到OMX框架过程及其硬解码

学习于《Android音视频开发》,本文讲解了MediaCodec到OMX框架过程以及MediaCodec硬解码

2022-04-26 19:12:18 3998

原创 【学习】从零开始的Android音视频开发(12)——MediaCodec基本认识、从创建到Start过程

学习于《Android音视频开发》,本文讲解了对MediaCodec的基本知识和基本用法,以及它的从创建到start过程

2022-04-26 18:53:59 2917

原创 【学习】从零开始的Android音视频开发(11)——OMX:Codec部分中的OMXCodec和OMX事件回调流程

学习于《Android音视频开发》,本文讲解了Codec部分中OMXCodec与OMX事件的回调流程

2022-04-26 17:34:21 3083

原创 【学习】从零开始的Android音视频开发(10)——OMX:Codec部分中AwesomePlayer到OMX服务

学习于《Android音视频开发》,本文讲解了OMX的初始化流程,OMX中NodeInstance列表的管理以及其节点的操作,最后概括了AwesomePlayer到OMX的服务过程

2022-04-26 17:03:53 2551

原创 【学习】从零开始的Android音视频开发(9)——NuPlayer

学习于《Android音视频开发》,本文讲解了NuPlayer的整体结构、构建过程、数据解析模块、解码模块和渲染模块

2022-04-22 22:37:26 1571 1

原创 【学习】从零开始的Android音视频开发(8)——AwesomePlayer的渲染输出过程及总结

学习于《Android音视频开发》,本文讲解了AwesomePlayer的渲染输出过程,并对完整流程做了概要总结

2022-04-21 23:54:48 1590

原创 【学习】从零开始的Android音视频开发(7)——AwesomePlayer的构造、解码过程

学习于《Android音视频开发》,本文章讲解了AwesomePlayer的构造过程与解码的大概过程

2022-04-21 23:29:45 1435

原创 【学习】从零开始的Android音视频开发(6)——MediaPlayerService中BinderDriver、创建播放器过程、建立StageFright层交互

学习于《Android音视频开发》,本文讲解了MediaPlayerService中通过BinderDriver和MediaPlayer通信的过程、创建播放器的过程以及建立StageFright层交互

2022-04-19 22:57:39 1106

原创 【学习】从零开始的Android音视频开发(5)——管理调度的服务者MediaPlayerService的产生、添加服务过程

学习于《Android音视频开发》,本文讲解了MediaPlayerService的产生过程和添加服务的过程

2022-04-19 22:37:42 1317

原创 【学习】从零开始的Android音视频开发(4)——C++中MediaPlayer的C/S结构

学习于《Android音视频开发》,本文结合MediaPlayer的setDataSource方法讲解了C++中MediaPlayer的C/S结构

2022-04-18 00:32:15 805

原创 【学习】从零开始的Android音视频开发(3)——MediaPlayer的prepare/prepareAsync流程和start流程

学习于《Android音视频开发》,本文讲解了MediaPlayer的prepare/prepareAsync和start流程

2022-04-16 17:17:38 3086

原创 【Kotlin学习】协程的基本概念(3)——Flow

学习于《Kotlin进阶实战》,本文讲解了Kotlin中Flow的基本知识,介绍了Flow的基本使用方法

2022-04-16 14:09:46 1561

原创 【Kotlin学习】协程的基本概念(2)

学习于《Kotlin进阶实战》,本文讲解了协程的上下文和调度,协程的作用域和Channel机制,并用简单的实例展示

2022-04-15 14:49:18 1005

原创 【Kotlin学习】协程的基本概念(1)

学习于《Kotlin进阶实战》,本文讲解了协程的许多基本概念,以及提供了许多简短的例子去展示如何使用协程

2022-04-14 21:48:30 971

原创 【动态规划】LeetCode 300.最长递增子序列

学习于《labuladong的算法小抄》,本文讲解了动态规划的基本框架以及对经典的求最长递增子序列问题用该框架进行解析

2022-04-12 09:55:56 132

原创 【学习】从零开始的Android音视频开发(2)——MediaPlayer的状态和创建过程

学习于《Android音视频开发》,本文讲解了系统自带的MediaPlayer的状态分析以及创建、setDataSource、setDisplay过程

2022-04-11 21:44:08 4085 2

原创 【Kotlin学习】Kotlin中的反射

学习于《Kotlin实战》,本文结合了一个比较简单的序列化库JKid来对Kotlin中的反射进行分析

2022-04-09 22:11:02 9264

原创 【Kotlin学习】Kotlin中的注解

学习于《Kotlin实战》,本文结合了JKid——一个比较简单的库来讲解kotlin中注解的使用以及和java之前的异同

2022-04-08 13:54:42 2156

原创 【Kotlin学习】泛型——变型:泛型和子类型化

学习于《Kotlin实战》,本文讲解了泛型的类型与子类型,其中包括了协变、逆变、点变型和星号投影的知识

2022-04-07 21:41:34 1687

原创 【Kotlin学习】泛型——泛型类型参数、擦除和实化类型参数

学习于《Kotlin实战》,本文讲解了在kotlin中的泛型类型参数,以及擦除机制和实化类型参数机制

2022-04-06 22:48:38 1273

原创 【Kotlin学习】高阶函数的控制流——lambda的返回语句和匿名函数

学习于《Kotlin实战》,本文讲解了关于高阶函数控制流的知识,其中包括lambda的返回语句以及匿名函数的概念

2022-04-05 20:14:22 801

原创 【Kotlin学习】高阶函数的声明和内联函数的运用

学习于《Kotlin实战》,本文讲解了高阶函数以及内联函数的概念,通过一些简短的例子讲解了它们的使用方法

2022-04-05 17:18:59 1346

原创 【Kotlin疑惑】在Kotlin类中重载一个算术运算符,并把该运算符声明为扩展函数会发生什么?

在Kotlin类中重载一个算术运算符,并把该运算符声明为扩展函数会发生什么?虽然这么做好像没什么意义

2022-04-04 00:32:03 899

原创 【Kotlin学习】运算符重载及其他约定——解构声明和组件函数、委托属性

学习于《Kotlin实战》,本文讲解了kotlin中的解构声明和组件函数以及重用属性访问的逻辑——委托属性

2022-04-04 00:19:07 359

原创 【Kotlin学习】运算符重载及其他约定——重载算术运算符、比较运算符、集合与区间的约定

学习于《Kotlin实战》,本文讲解了Kotlin中关于对算术、比较运算符的重载,以及集合与区间的约定

2022-04-03 23:55:17 831

原创 【Kotlin学习】Kotlin的类型系统——基本数据类型和其他基本类型、集合与数组

学习于《Kotlin实战》,本文讲解了kotlin中的基本数据类型和其他基本类型包括Any、Unit和Nothing,以及可读集合与可变集合的不同,还介绍了基本数据类型的数组等

2022-04-02 00:28:46 901

原创 【Kotlin学习】Kotlin的类型系统——可空性

学习于《Kotlin实战》,本文讲解了kotlin的一个特性——可空性,其中包含了安全调用运算符、Elvis运算符、安全转换、非空断言、let函数、lateinit等内容

2022-04-01 16:21:00 1347

原创 【Kotlin学习】Lambda编程——序列、使用Java函数式接口、with和apply函数

学习于《Kotlin实战》,本文讲解了序列的使用方法以及优点,和如何在kotlin中使用Java函数式接口以及with和apply函数

2022-03-31 12:06:49 1034

原创 【Kotlin学习】Lambda编程——Lambda表达式和成员引用、集合的函数式API

学习于《Kotlin实战》,本文讲解了Lambda编程的基本用法,讲述了Lambda表达式和成员引用和一部分的集合函数式API

2022-03-29 20:07:48 1629

原创 【Kotlin学习】类、对象和接口——带非默认构造方法或属性的类、数据类和类委托、object关键字

学习于《Kotlin实战》,本文讲解了如何生命一个带非默认构造方法的或属性的类,以及数据类和类委托,object关键字的运用,并给出了实例

2022-03-29 01:03:41 1493

原创 【Kotlin学习】类、对象和接口——定义类继承结构

学习于《Kotlin实战》,本文讲解了Kotlin中接口、访问修饰符、可见性修饰符、内部类和嵌套类与java的区别和使用,也讲述了Kotlin中新特性:密封类

2022-03-27 21:06:24 1439

原创 【学习】Android中Bitmap的加载和Cache

学习于《Android开发艺术探索》,本文讲解了Android中Bitmap如何高效加载和Cache机制

2022-03-27 00:15:02 385

原创 【Kotlin学习】函数的定义与调用——顶层函数、扩展函数、中缀调用、局部函数等

学习于《Kotlin实战》,本文讲解了顶层函数、扩展函数、中缀调用、局部函数的概念和运用,讲解了在Kotlin中对字符串的处理

2022-03-26 17:04:17 2336

原创 【学习】Android的线程和线程池

学习于《Android开发艺术探索》,本文讲解了Android中的线程状态和线程池的类型并举出了简短的例子

2022-03-25 23:27:05 1869 2

原创 【Kotlin学习】Kotlin基础知识

学习于《Kotlin实战》,本文主要讲解了Kotlin的基础知识,包括函数与变量,类和属性,控制结构和异常

2022-03-24 23:53:34 2502

原创 【学习】Android四大组件启动流程(4)——ContentProvider的工作过程

学习于《Android开发艺术探索》,本文主要讲解了ContentProvider的工作过程,以query为例梳理其启动流程并附上大致流程图(省略了部分)

2022-03-24 00:00:40 1197

原创 【学习】Android四大组件启动流程(3)——BroadcastReceiver的工作过程

学习于《Android开发艺术探索》,本文讲解了BroadcastReceiver的工作过程并附上一张大致流程图(部分忽略)

2022-03-23 16:24:55 1094

原创 【设计模式】装饰模式

学习于《大话设计模式》,本文讲解了装饰模式的概念,使用场景以及装饰模式的优点和缺点,并给出了一个实例和自己的想法

2022-03-23 09:57:28 1370

原创 【学习】Android四大组件启动流程(2)——Service的启动和绑定流程

学习于《Android开发艺术探索》,本文讲解了Service的启动和绑定流程并给出了一张启动绑定流程图

2022-03-22 16:40:36 1451

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除