首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

AudioFlinger 的一个小疑点

2013-03-12 
AudioFlinger 的一个小问题AudioFlinger 类开始的时候定义了friend class BinderServiceAudioFlinger,为

AudioFlinger 的一个小问题

AudioFlinger 类开始的时候定义了

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

// for AudioFlinger()

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

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

我觉得

1 是实现单例的好的方法

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

2 可以控制构造和析构

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

暂时想到这么多。

这样就知道了

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


 

热点排行