2013-04-05 60 views
0

我发现android的本地层使用类和结构。为什么android awesomeplayer使用struct而不是类

例如,MediaPlayer,Stagefrightplayer,Audioplayer,MetaData是类别。 但AwesomeplayerMediaSource是结构。

虽然我读过类和结构类似的用法,但我不知道为什么Awesomeplayer被创建为struct。有没有什么理由或只是开发商的口味?

回答

1

enter image description here您试图将awesomeplayerMediaSource作为Android API提及吗?不,它们不是,它们是从C++转换而来的结构;他们不属于Android库!

请参阅stagefright的图表,该库是来自C/C++核心。 Android是linux核心,可以将C/C++ utils,libs带入其中。

参考:http://pierrchen.blogspot.sg/2012/03/share-with-you-what-have-learned-about.html

+0

这是什么意思“从C++转换结构”? AwesomePlayer.cpp内置到libstagefright.so中。 而Awawesomeplayer的实例是在StagefrightPlayer上创建的。 – user2247257 2013-04-05 03:59:00

+0

请查看已更新的答案 – 2013-04-05 04:20:00

+0

我找不到您的答案和我的问题之间的关系。 我的问题是为什么AwesomePlayer被声明为结构而不是类。 我不知道这个事实对系统有影响,或者只是开发者的口味。 – user2247257 2013-04-05 04:27:26

相关问题