读书人

AudioFlinger 的一个小疑点

发布时间: 2013-03-12 11:19:35 作者: rapoo

AudioFlinger 的一个小问题

AudioFlinger 类开始的时候定义了

friend class BinderService<AudioFlinger>,为啥要定义一个这个呢,后面有个注视

// for AudioFlinger()

原来binderservice初始化的时候会new AudioFlinger出来,而audioflinger的构造函数的private,友元类就可以使用当前类的private方法了

来说说为啥要把构造函数设成private的

我觉得

1 是实现单例的好的方法

构造函数是private,所以不能被构造对象,不能再栈上使用这个对象,类必须提供static 方法来使得外部能够得到这个对象,非常的像单例模式

2 可以控制构造和析构

增加了新的接口 可以保证在初始化类之前和之后完成一些其他的操作

暂时想到这么多。

这样就知道了

在binder service中还可以用SERVICE::getInstance()来构造这个函数,当然需要增加新的接口


读书人网 >移动开发

热点推荐