1. 前面对interface_cast已经进行了详解,为加深理解,现单独把结果抛出来。
它本身是一个模板,如:interface_cast<IMediaPlayer>(reply.readStrongBinder());
2. reply.readStrongBinder());返回的结果是一个新创建的BpBinder对象。
3. interface_cast<IMediaPlayer>(BpBinder);新创建一个BpMediaPlayer对象并返回,且在创建BpMediaPlayer时把BpBinder做为其参数,结果是把BpBinder对象赋值给其基类BpRefBase中的mRemote来保存。
4. BpMediaPlayer对象由MediaPlayer的mPlayer来保存。
大家经常讲,把性能搞好,并稳定就行了。不懂原理又怎么能把它搞好搞稳呢?其结果是把问题搞大。“深入其内部,才能将其征服”

本文详细解析了如何通过interface_cast将BpBinder对象转换为BpMediaPlayer对象的过程,包括BpBinder对象的创建、BpMediaPlayer对象的创建及其与基类BpRefBase的关系,强调了理解原理对于性能优化的重要性。
648

被折叠的 条评论
为什么被折叠?



