Handler - Message - Looper 说起来也就是这么一回事,Looper实现在Thread中负责不断的循环监听处理Message,要不然Thread运行完就自己关了。当你不需要的时候就可以把Looper关了,线程就自动运行完了。
Message
实现了序列化接口,what区分类型,arg的参数使用简单的整形,obj存储对象,data存储一个bundle,target是一个Handler。剩下的就是搞了个对象池回收Message,所以才会推荐用Message.obtain()来新建,其实就是从回收池里拿东西。
总之没什么好说的。
Looper
``` java
继续阅读 »
1. 写在前面
在实践 Erlang and OTP in Action 的第六章的时候,确实遇到了不少问题,后来慢慢多看了几遍书,多阅读了几次源码,特别是阅读了 application 的源码后,才慢慢理解了这章所讲的这个应用。这个总结不会很长,原本就想简单记在书上的,但想到以后也许会有一些更新,还有一些流程图的绘制需要经过多次修改,就还是放到github上来了,说实话,真挺感谢github的,让我学习和管理代码如此方便。
2. 程序运行流程
下图是整个simple_cache应用运行的流程,我们先上图,然后在后面再说说重要的地方。
下面我们再说明一下各个模块各自的职责:
sc_app: 应用行为模
继续阅读 »
Android 6.0已经推出,更新了许多新的特性,而最好的学习方法就是直接阅读源码。所以最先想到的是下载最新的源码包。
环境
系统:OS X 10.11.4
git : 2.6.4
make : 3.81
移动硬盘
继续阅读 »
虽然已经一年多没有维护gbox这个图形库项目了,最近确实时间不够用。。。
今年的重点是把xmake彻底正好,至少在架构和大功能(包依赖管理)上,要完全落实下来,后期就是零散的维护和插件功能扩展了。。
tbox我会陆陆续续一直进行一些小规模更新,明年上半年稍微重构一些模块后,就开始重点重新搞gbox了,这才是我一直最想做,也是最喜欢做的项目了
所以我宁愿开发的慢点,也要把它做精,做到最好。。
好了,回归正题,虽然现在gbox还处于早期开发中,并不能用到实际的项目中去,但是里面的一些算法,还是很有参考学习价值的。。
我这两天没事就拿出来分享下,如果有感兴趣的同学,可以直接阅读源码:monotone.c
毕竟这个算法我陆陆续
继续阅读 »
更新历史:
2018.09.18,初稿完成
2018.10.13,增加 kubeadm 的方法
很长时间没写东西了。离家在外两个人带娃很忙,在家空闲的时间基本都用来陪娃了,在加上前段时间在备考 CKA,时间上更是抠抠缩缩。业内人士都知道 CKA 是 Kubernetes(下面简称 k8s) 社区认证的管理员证书,我作为早期参与 openstack(下面简称 os) 的社区开发人员,openstack 的证书都没怎么关心过,现在为啥要考这个 CKA 呢?其实原因很简单,就是想对 k8s 多一些了解。我从2013年开始以开发人员的角色接触 os,当时年轻气盛,精力无限,一上来就是边阅读源码边安装试用,碰到问题都是通过读代码解决,从 o
继续阅读 »
本文适合Go语言和Swarm的初学者
在我之前的一篇博客中,我在本地mac机器上搭建了swarm。前两天刚刚看完了Go的基础教程,所以,我就顺着swarm搭建的步骤,来尝试阅读swarm的源码。
继续阅读 »
此版本主要修复一些稳定性问题,并且对一些细节进行改进优化,并且提供xmake-vscode插件深度集成vscode编辑器环境。
更多使用说明,请阅读:文档手册。
项目源码:Github, Gitee.
新特性
添加add_imports去为target,option和package的自定义脚本批量导入模块,简化自定义脚本
添加xmake -y/--yes去确认用户输入
添加xmake l package.manager.install xxx模块,进行跨平台一致性安装软件包
添加vscode编辑器插件支持,更加方便的使用xmake,xmake-vscode
添加xmake macro ..快速运行最近一次命令
改进
改进c
继续阅读 »
此版本主要修复一些稳定性问题。
更多使用说明,请阅读:文档手册。
项目源码:Github, Gitee.
改进
改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。
从依赖的target和option中继承links和linkdirs。
改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false})
移除tbox.pkg二进制依赖,直接集成tbox源码进行编译
Bugs修复
修复目标级联依赖问题
修复target:add和option:add问题
修复在archlinux上的编译和安装问题
修复/ZI的兼容性
继续阅读 »
xmake-sublime插件深度集成了xmake和sublime text,提供方便快速的跨平台c/c++构建。
注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。
特性
快速开始
语法色彩高亮
API输入自动提示和补全
状态栏信息
完整的命令列表
快速配置支持
构建和运行
快速宏记录和回放
编译错误提示和跳转
快速开始
编译错误提示和跳转
继续阅读 »
xmake-idea 插件深度集成了xmake和Intellij-IDEA,提供方便快速的跨平台c/c++构建。
并且它也支持其他基于Intellij的IDE环境, 例如:Clion, Android Studio等等。
注:使用此插件,需要先安装xmake,更多关于xmake的使用说明,请阅读:文档手册,项目源码:Github。
特性
快速开始
创建空工程向导
全局工程配置
运行环境配置
菜单栏工具
快捷的编译工具窗口
构建和运行
错误解析和跳转
快速开始
错误解析和跳转
继续阅读 »