binder驱动 Posted on 2019-12-20 startActivity执行的时候跨进程了吗? 如果是跨进程,那么是于哪个进程通信呢? service, broadcast这些呢? binder的概念 Binder是android提供的一种IPC机制,Binder通信机制类似于C/S架构,除了C/S架构外,还有一个管理全局的ServiceM ... Read more »
battery-historian环境搭建与简单分析 Posted on 2019-12-03 首先可以参考https://www.jianshu.com/p/c86021fe958d 这篇博客 大概需要安装以下环境: go,和配置go环境 docker环境 java python(小于版本3) 按照https://github.com/google/battery-histori ... Read more »
音频解码流程分析 Posted on 2019-08-27 音频解码流程分析 OpenSLES初始化 -> 初始化音频引擎 -> 子线程解码原始数据到SafeQueue<AVPacket *>队列中 -> 解码器返回解码到输出数据到SafeQueue<AVFrame *> frame_queue 队列 -> 转 ... Read more »
解压视频及同步音频流程分析 Posted on 2019-08-27 解压视频及同步音频流程分析 数据 -> 子线程解码原始数据到SafeQueue<AVPacket *>队列中 -> 解码器返回解码到输出数据到SafeQueue<AVFrame *> frame_queue 队列 -> 取切片数据dst_data返回给窗口w ... Read more »
Context上下文简述 Posted on 2019-08-15 Context是一个抽象类,activity,service,application都是其子类,因此一个应用程序中 Context 的数量等于 Activity 和 Service 的数量加1。 Context的主要功能为: 1)启动Activity2)启动和停止Service3)发送广播消息( ... Read more »
Android View的加载与绘制源码分析 Posted on 2019-08-05 (一)Android View的加载源码分析 view是如果被加载到界面上的?创建一个普通的activity 123456789101112131415161718192021222324//1.MainActivity.javapublic class MainActivity extends A ... Read more »
红黑树 Posted on 2019-08-05 二叉查找树(BST)定义:一颗二叉树,每个结点都有一个Comparable的键且每个结点的键都大于其左子树的任意结点的键而小于右子树的任意结点的键。 二叉查找树的图像形状 查找 插入 12345678910111213141516171819202122232425262728293031323 ... Read more »
排序 Posted on 2019-08-05 排序排序是将一组对象按照某种逻辑顺序重新排列的过程。在计算机早期,大家普遍认为30%的计算周期都用在排序上。如今这个比例下降,可能原因之一是如今的排序算法更高效了,而不是说排序的重要性降低了。 既然可以使用标准库中的排序算法,大家为什么还要研究排序呢? 理解算法有助于解决类似的其他问题 这些算法很经 ... Read more »
重构,改善既有的代码设计 Posted on 2019-08-05 以下将以6次重构的操作来实现一个简单的案例。例子:这是一个影片出租店用的程序,计算每一个顾客的消费金额并打印详单。操作者告诉程序:顾客租了哪些影片,租期多长,程序便根据租赁时间和影片的类型算出费用。影片分为三类:普通片,儿童片和新片。除了计算费用,还要为常客计算积分,积分会根据租片的种类是否为新片而 ... Read more »