C++
乐安草堂
PMP, C++
展开
-
Android: MediaPlayer中TextPlayer(字幕)的原理
介绍Android中Meidaplayer的字幕机制原创 2015-02-28 09:46:13 · 3995 阅读 · 2 评论 -
设计模式:观察者(observer)模式
观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。类图:推模式的类图:拉模式的类图:(推荐:因为无法预测每个观察者到底需要何种数据,也方便增加新数据时,改动最小)注意:有多个观察者时,不可以依赖特定的通知次序。原创 2015-04-28 13:48:19 · 467 阅读 · 0 评论 -
设计模式: 策略(strategy)模式
策略模式:定义了算法族, 分别封装起来,让它们之间可以互相替换。此模式让算法的变化独立于使用算法的客户。类图:与工厂模式的区别:策略模式相当于测试中的白盒工程模式相当于测试中的黑盒原创 2015-04-27 16:56:07 · 385 阅读 · 0 评论 -
解决“使用google test做单元测试(unit test)中访问类的私有成员”的几种方法
在使用google test做单元测试(unit test)中,有时候会碰到访问类的私有成员, 本文 只给出了两个常用的方法。原创 2015-04-10 17:30:26 · 3498 阅读 · 0 评论 -
Android中Framework层条件变量(condition)的使用方法
简单介绍在Android的Framework层, 如何使用条件变量去实现一些等待的操作原创 2015-04-03 17:31:30 · 1985 阅读 · 0 评论 -
C++ Template中关于模板类的成员模板函数显示实例化的问题
写了如下的模板成员函数代码,发现下面示例的56行,无法编译通过。原创 2015-03-16 15:08:06 · 1568 阅读 · 1 评论 -
ALSA 中asound.conf 验证采集设备的内容
方法:alsa_aplay -C -D hw:3,0 -c 2 -f S16_LE -r 44100 /data/test.pcm缺陷: 有时候会碰到读取数据为空的情况,比如设备MIC 没有接入 或者其他驱动bug. 这时只能查看文件的大小以确认。而cat 文件内容的方式不太明显。原创 2015-03-02 16:45:26 · 482 阅读 · 0 评论 -
ALSA 中asound.conf 验证送入播放设备中的数据内容
目的:验证送入alsa 播放设备中的数据的有效性.具体有以下两个case:1, 验证alsa 采集设备的数据内容2, 验证送给alsa播放设备的数据内容方法: 配置 alsa的/etc/asound.conf,并使用alsa util工具测试。例子:asound.conf的例子如下所示:pcm.wqw { type file原创 2015-03-02 16:06:27 · 669 阅读 · 0 评论 -
Android中DRM mobile 1.0的初步介绍
初步介绍Android中mobile drm1.0的情况原创 2015-02-28 10:05:46 · 1131 阅读 · 0 评论 -
C++ Template 类成员函数取地址
代码:测试结果:原创 2015-02-28 15:23:48 · 906 阅读 · 0 评论 -
Android:dumpsys功能之二:例子与实战
dumpsys的实现原创 2015-02-27 17:53:18 · 863 阅读 · 0 评论 -
Android:dumpsys功能之一:原理介绍
描述Android中dumpsys的功能实现原理原创 2015-02-27 17:31:25 · 4102 阅读 · 0 评论 -
C++ Template中的“替换失败并非错误”
在模板中,为了支持函数模板的重载功能,有个特性,叫做 “替换失败并非错误”。英文翻译为 substiutation failure is not an error. 写了以下程序,编译,链接,运行均正常。原创 2015-02-28 12:02:55 · 608 阅读 · 0 评论 -
C++ 返回值优化
1, 示例代码如下:2, GCC默认编译, 结果如下: 可以看到只有一次调用构造函数。3, 为GCC添加-fno-elide-constructors 选项, 这次就出现构造函数被调用了3次。原创 2016-02-16 17:29:25 · 564 阅读 · 0 评论