9 红涛在反思

尚未进行身份认证

种一棵树最好的时间是十年前,其次是现在

等级
TA的排名 2k+

so库远程加载方案管中窥豹

0x01.为什么要so库远程加载?(又叫动态加载)so体积过大,如果直接集成在apk里面的话,会造成包体积膨胀。所以有了这种方案。运行app的时候,在需要的时候再去下载so库。这样可以减少apk的体积,并且对于推广收益很大。当然不只so库可以这样,所有体积比较大的资源都可以采用这种方案。0x02.动态加载so库方案原理Android加载so文件的方式有两种:System.loadLibra...

2019-10-25 15:56:55

音视频学习思考实践活动进展Post

2019-10-12ijk预加载moov段前置so远程加载faceunity

2019-10-12 17:39:01

说说重构那些小事三:重读《重构》

0x01.《重构》一书为了做这期重构,自己也是专门又饭看了下《重构》,这本书,之前跟同事共读的时候,看过一遍。不过实践的机会不多。这次重读有一些思考。读书重要在于理解,而不是在于数量,在于读了多少本书。理解,比如对于重构这本书,理解更多是能够自己打散书的目录逻辑,在自己心里重建一套只有的逻辑框架顺序。重构这本书,可以分为大型重构、小型调整。大型重构专门有一个章节提到。目前来看,继承关系梳...

2019-09-30 18:32:58

说说重构那些小事二:小视频落地页重构二期

0x01.二期的主要目的二期的主要是为了解决DetailAdapter代码膨胀的问题。目前DetailAdapter代码量已经达到了4300行。里面充斥了网络请求、业务逻辑、埋点逻辑、弹窗逻辑等等。在最小化对功能的影响的前提下(因为落地页有很多关键指标的埋点,包括商品浮层、播放loading率、起播时间等等),我们都是期待尽量少的动到过去的业务逻辑,其实之前尝试过做简单的重构,不过更多是把大的方...

2019-09-30 17:07:36

说说重构那些小事一:小视频落地页重构一期

最近在针对视频落地页做一系列的代码重构。工作之余,又把之前的《重构:改善代码的既有设计》复习了一下。有了一些新的感悟和想法。故而有了这一系列的文章。规划的是讲一讲自己在项目中的心路思考及对重构的新认识。

2019-08-19 11:57:22

阅读清单体系

2019阅读读书计划读书日志分类书架技术其他。。。。

2019-09-24 15:16:22

ijkplayer播放器h265解码能力调研

0x01.h264编解码H.264: H.264/AVC项目的目的是为了创建一个比以前的视频压缩标准,在更低的比特率的情况下依然能够提供良好视频质量的标准(如,一半或者更少于MPEG-2,H.263,或者MPEG-4 Part2 )。同时,还要不会太大的增加设计的复杂性。优势:1)网络亲和性,即可适用于各种传输网络2)高的视频压缩比,当初提出的指标是比 H.263,MPEG-4,约为它们的...

2019-09-24 12:21:07

音视频开发进阶指南《第五章:实现一款播放器》的理解笔记(todo)

问题:1.c++?2.opengl es opensl es这些API都不是特别了解?3.画个类图,大致理解一下吧,标注好每一块的内容

2019-09-23 20:08:14

慢思考:修炼你的哲学,做自己的英雄

离开学校得有4-5年了,一旦离开学校,很多既往的观念都不再适用。比如你会遇到很多问题,这些问题包括技术问题、生活中的遇到的问题、感情中遇到的问题、工作中遇到的问题等等,并且其中的大多数都不是黑白分明、对错井然的,更多是你从自己当下的认知去思考和考虑,从很多疑惑到稍微能够思考明白一点点,然后涨一点点经验,提炼出自己的一点点生活哲学。这里记录一下自己最近遇到的一些问题和此时此地此刻,自己在当下的一些思...

2019-09-23 00:18:13

动手写一个抖音首页的效果

如何实现一个抖音首页的沉浸式视频播放效果01.疑问怎么实现一个顺畅的类似抖音的沉浸式播放效果02.方案方案1:viewpager+复用,低端机教卡方案2:recycleview,比较顺畅方案3:viewpager203.实现public class TestActivity extends BaseActivity { LinearLayoutManager mLinear...

2019-09-20 19:28:35

debug小锦囊

一些debug的简单技巧不知道哪里调用到了finish方法?在finish那里打个点,可以看到整个的引用链,由果可以得因看log日志如果涉及的方法太多,各种生命周期方法,状态的变换,可以打日志,就会发现少了什么,状态值的问题看竞品的布局解决在Android Studio 3.2找不到Android Device Monitor工具https://juejin.im/post/5c55...

2019-09-20 19:27:51

ijkplayer系列14:从入门到进阶问题树梳理

ijkplayer系列14:从入门到进阶问题树梳理基础准备语法基础:C语言以及JNI开发是必备的能力C语言语法简单复习https://anacz.blog.csdn.net/article/details/100065438不过说实话,在看源码的时候,感觉对指针的理解还是有限,不熟练JNI开发:Android笔记之使用CMake进行JNI开发(Android Studio)htt...

2019-09-20 19:25:17

ijkplayer系列13:video_refresh_thread

ffp_video_thread这个线程用来处理视频解码。解码的调用流程如下:以上可以看出,解码流程主动分为以下三部分:初始化解码器。开启解码器,如果配置了硬解则会尝试去创建硬解码器,没有配置硬解或者尝试创建硬解码器失败则创建软解码器。启动解码线程,可以发现硬解和软解最终进入的方法是不同的,后面我们会针对两者分别解析。我们先来看下decoder_init():static vo...

2019-09-20 19:06:02

ijkplayer系列12:video_refresh_thread

video_refresh_thread该线程负责图像的渲染,先来看下整体流程:从上面的流程图可以得知,最终根据格式的差异分成了三个分支,我们先来看下func_display_overlay_l()的源码,然后再继续深入三个分支中。static int func_display_overlay_l(SDL_Vout *vout, SDL_VoutOverlay *overlay) { ...

2019-09-20 19:03:50

ijkplayer系列11:read_thread

ijkplayer的核心代码在ff_ffplayer.c中,以视频为例(音频类似),其中又以三个线程和两个队列最为核心。 三个线程分别为:• read_thread:读取流。• video_refresh_thread:图像渲染。• ffp_video_thread:图像解码,需要一提的是,硬解时的流程不太一样。两个队列定义在VideoState结构体中,分别为:• videoq:存储从...

2019-09-20 18:59:49

低端机降级

最近在做一个低端机降级的需求。主要方案就是使用类似device-year-class的策略对设备分级,对于低端机用户可以关闭复杂的动画,或者是某些功能;使用565格式的图片,使用更小的缓存内存等。在现实环境下,不是每个用户的设备都跟我们的测试机一样高端,在开发过程中我们要学会思考功能是不是要对低端机开启、在系统资源吃紧的时候能不能做降级。这里只分析一个比较关键的点,怎么来区分低端机,怎么进行设备...

2019-09-11 18:44:25

C语言语法简单复习

word编写最近在看ijk源码,发现ijk底层源码基本都是C语言编写的。看来有必要简要回顾下大学的c语言语法了。01. 分类 C语言 备注 语言由来 1972 年,为了移植与开发 UNIX 操作系统,丹尼斯·里奇在贝尔电话实验室设计开发了 C 语言 ...

2019-08-25 17:31:27

Android图形架构学习笔记

以下简单总结来自Android官网,稍作总结:https://source.android.google.cn/devices/graphics概览Android应用开发者可通过两种方式将图像绘制到屏幕上:使用 Canvas 或 OpenGL。android.graphics.Canvas 是一个 2D 图形 API,而且是最受开发者群体青睐的图形 API。Canvas 运算可在 Andr...

2019-08-25 16:23:04

flutter进阶

flutter进阶之前调研过FN和flutter,附上调研链接:RN 调研学习(进行中)https://blog.csdn.net/a910626/article/details/87371134flutter调研https://blog.csdn.net/a910626/article/details/81316146缘由因为要做准备一个flutter的分享,且这一年flutter...

2019-08-23 16:54:19

ijkplayer系列10:流程分析-开始工作

开始工作流程如下

2019-08-16 11:44:50

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。