自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RxJava总结

什么是RxJava?RxJava在GitHub上《RxJava》的自我介绍是:a library for composing asynchronous and event-based programs using observable sequences for the Java VM.(一个在Java VM 上使用可观测的序列来组成异步的,基于事件的程序的库),有些人可能感到疑惑,其实本质上可以用一词来概括——“异步”,它就是一个异步的操作库,而别的定语都基于这之上。RxJava的优点是什么?

2021-06-16 15:19:09 315

原创 Android消息机制总结

概述:一个thread会有一个MessageQueue,一个Looper,多个Handler,MessageQueue内有多个Message

2021-06-07 17:31:36 172 2

原创 视频编码、解码、I帧、B帧、P帧 等基础音视频概念

1. 视频编码所谓视频编码方式就是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.2642. 视频解码解码的逆过程3. I帧I帧又称帧内编码帧,是一种自带全部信息的独立帧,无需参考其他图像便可独立进行解码,可以简单理解为一张静态画面。视频序列中的第一个帧始终都是I帧,因为它是关键帧。4. P帧P帧又称帧间预测编码帧,需要参考前面的I帧才能进行编码。表示的是当前帧画面与前一帧(前一帧可能是I

2021-06-07 17:15:41 1149

原创 了解各种推流协议之间的不同点

什么是推流?推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。

2021-06-07 17:12:25 581

原创 自定义View问题与总结

问题:一个自定义View,继承Android#View,没有重写任何函数。放在一个LinearLayout(宽高都是100dp)中,该自定义view宽高属性都是wrap_content,那么这个布局显示

2021-06-07 17:07:37 321

原创 SurfaceView总结

我们知道View是通过刷新来重绘视图,系统通过发出VSSYNC信号来进行屏幕的重绘,刷新的时间间隔是16ms,如果我们可以在16ms以内将绘制工作完成,则没有任何问题,如果我们绘制过程逻辑很复杂,并且我们的界面更新还非常频繁,这时候就会造成界面的卡顿,影响用户体验,为此Android提供了SurfaceView来解决这一问题。SurfaceView 拥有独立的绘图表面,即它不与其宿主窗口共享同一个绘图表面。由于拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行绘制。又由于不

2021-06-07 16:40:23 175

原创 onCreate()、onResume() 中可以获取View的宽高吗?怎么做? View.post{} 为什么可以获取?

回答: View的宽高是在onLayout阶段才能最终确定的,而在Activity#onCreate中并不能保证View已经执行到了onLayout方法,也就是说Activity的声明周期与View的绘制流程并不是一一绑定。所以onCreate() 和 onResume() 中获取不到View的宽高值。以Handler为基础,View.post() 将传入任务的执行时机调整到View 绘制完成之后。代码验证:...

2021-06-07 16:34:42 1103

原创 LayoutInflater.inflate()总结

1.什么是LayoutInflater? 一个布局的xml一般可以调用Activity的setContentView()加载布局,然后把它显示到屏幕上,其实它底层就是Android系统服务中的LayoutInflater(布局服务),用的Android内置的Pull解析器来解析布局。一般在Android动态加载布局或者添加控件用得较多。​ LayoutInflater就是一个用于加载布局的系统服务,就是实例化与Layout XML文件对应的View对象,不能直接使用, 需要通过***getLayo.

2021-06-07 16:27:12 221

原创 RecycleView总结

本文打算从几个地方说起。将RecyclerView当成一个普通的View,分别分析它的三大流程、事件传递(包括嵌套滑动) 分析RecyclerView的缓存原理,这也是RecyclerView的精华所在 分析RecyclerView的Adapter、LayoutManager、ItemAnimator和ItemDecoration RecyclerView的扩展,包括LayoutManager的自定义和使用RecyclerView常见的坑一.Recycleview绘制三大流程:1.概述:

2021-06-04 20:10:45 335

原创 Activity切换常用的动画实现方式

1.overridePendingTransition():此方式只需要在启动另一个activity和退出activity的时候调用就行,这个方法接收两个参数,一个是新启动的activity进入时的动画,另一个是当前activity消失时的动画。启动:...

2021-06-04 19:25:21 327

空空如也

空空如也

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

TA关注的人

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