WolfcsTech


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 公益 404

EventBus设计与实现分析——事件的发布

发表于 2016-08-04 | 分类于 Android开发 | | 阅读次数:

前面在 EventBus设计与实现分析——特性介绍中介绍了EventBus的基本用法,及其提供的大多数特性的用法;在EventBus设计与实现分析——订阅者的注册 中介绍了EventBus中订阅者注册的过程。这里就继续分析EventBus的代码,来了解其事件发布的过程。

阅读全文 »

EventBus设计与实现分析——订阅者的注册

发表于 2016-07-04 | 分类于 Android开发 | | 阅读次数:

前面在 EventBus设计与实现分析——特性介绍 一文中介绍了EventBus的基本用法,及其提供的大多数特性的用法,这让我们对EventBus为用户提供的主要功能有了大体的了解,为我们后续理解EventBus的设计决策提供了良好的基础。这里我们就开始深入到EventBus的实现细节,先来了解其中的订阅者注册的过程。

阅读全文 »

EventBus设计与实现分析——特性介绍

发表于 2016-07-03 | 分类于 Android开发 | | 阅读次数:

EventBus是一个 发布/订阅 模式的消息总线库,它简化了应用程序内各组件间、组件与后台线程间的通信,解耦了事件的发送者和接收者,避免了复杂的、易于出错的依赖及生命周期问题,可以使我们的代码更加简洁、健壮。

阅读全文 »

标准STUN判断NAT类型的过程及改进

发表于 2016-04-06 | 分类于 网络协议 | | 阅读次数:

这里基于stund的实现,来研究标准STUN协议,判断NatType的过程。

stund用于判断NatType的接口的用法

首先来看stund中用于判断NatType的接口的用法。这里主要来看stund中的STUN客户端client.cxx的实现。client.cxx是一个常规的C/C++ app,这个app的主要code如下:

阅读全文 »

OpenCV4Android JavaCameraView实现

发表于 2015-11-04 | 分类于 Android开发 | | 阅读次数:

OpenCV4Android中,主要用 org.opencv.android.JavaCameraView(后面用JavaCameraView 指代)、org.opencv.android.NativeCameraView(后面用NativeCameraView 指代)及 org.opencv.android.CameraBridgeViewBase(后面用CameraBridgeViewBase 指代)这几个类将应用程序的逻辑与 Camera 的图像捕捉及处理后的图像显示逻辑联系起来的。这几个类的结构大致如下图所示的这样:

阅读全文 »

Android low memory killer 机制

发表于 2015-10-04 | 分类于 Android开发 | | 阅读次数:

Android中,进程的生命周期都是由系统控制的。即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存在于内存之中的。这样设计的目的是为了下次启动应用能更加快速。当然,随着系统运行时间的增长,内存中的进程可能会越来越多,而可用的内存则将会越来越少。Android Kernel会定时执行一次检查,杀死一些进程,释放掉内存。

阅读全文 »

UDT协议实现分析——数据发送控制

发表于 2015-09-18 | 分类于 网络协议 | | 阅读次数:

在 前文 中,我们有看到,数据发送的过程,大体是发送者CUDT将要发送的数据放进它的CSndBuffer m_pSndBuffer,并将它自己添加进它的CSndQueue m_pSndQueue的CSndUList m_pSndUList的堆里,后面CSndQueue m_pSndQueue的worker线程会通过CSndUList::pop()从CSndUList m_pSndUList的堆顶CUDT中获取一个要发送的包来发送,包的获取主要是通过CUDT::packData()来完成,而这个函数正是UDT中包发送的执行中心。

阅读全文 »

UDT协议实现分析——数据的发送

发表于 2015-09-14 | 分类于 网络协议 | | 阅读次数:

连接建立起来之后,我们就可以通过UDT Socket进行数据的收发了。先来看用来发送数据的几个函数。UDT提供了如下的几个函数用于不同目的下的数据发送:

阅读全文 »

UDT协议实现分析——连接的建立

发表于 2015-09-12 | 分类于 网络协议 | | 阅读次数:

UDT Server在执行UDT::listen()之后,就可以接受其它节点的连接请求了。这里我们研究一下UDT连接建立的过程。

阅读全文 »

UDT协议实现分析——bind、listen与accept

发表于 2015-09-09 | 分类于 网络协议 | | 阅读次数:

UDT Server启动之后,基于UDT协议的UDP数据可靠传输才成为可能,因而接下来分析与UDT Server有关的几个主要API的实现,来了解下UDT Server是如何listening在特定UDP端口上的。主要有UDT::bind(),UDT::listen()和UDT::accept()等几个函数。

阅读全文 »
1…192021
Han Pengfei

Han Pengfei

207 日志
19 分类
30 标签
GitHub 豆瓣 知乎 E-Mail
Links
  • Android Developers
  • Android Open Source Project
  • 蚂蚁网
© 2016.09.16 — 2020 Han Pengfei
由 Hexo 强力驱动
|
主题 — NexT.Mist v6.0.3