AudioFlinger 的一个小问题

来源:互联网 发布:解析域名 英文 编辑:程序博客网 时间:2024/06/06 09:54

AudioFlinger 类开始的时候定义了

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

// for AudioFlinger()

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

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

我觉得

1 是实现单例的好的方法

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

2 可以控制构造和析构

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

暂时想到这么多。

这样就知道了

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


 

原创粉丝点击