当前位置: 首页 > news >正文

北京搬家公司24小时服务电话绍兴seo外包

北京搬家公司24小时服务电话,绍兴seo外包,南阳网站建设优化,软件设计的方法简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Android图形系统中,HWC特别的复杂,特别是HWComposer、ComposerImpl、Composer、Hwc2::Composer之间的关系,有种剪不断理还乱的感觉,通过几个演化例子,看清楚它本来的面目。

2.HWComposer、ComposerImpl、Composer、Hwc2::Composer定义与实现

1.HWComposer实现

frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.h

<1>.android::HWComposer定义
namespace Hwc2 {
class Composer;
}namespace android {
class HWComposer {virtual ~HWComposer();virtual void setCallback(HWC2::ComposerCallback*) = 0;....
};
}
<2>.impl::HWComposer定义(继承自android::HWComposer)
namespace impl {class HWComposer final : public android::HWComposer {
public:explicit HWComposer(std::unique_ptr<Hwc2::Composer> composer);explicit HWComposer(const std::string& composerServiceName);~HWComposer() override;
};
}
<3>.impl::HWComposer实现

frameworks/native/services/surfaceflinger/DisplayHardware/HWComposer.cpp

namespace impl {HWComposer::HWComposer(std::unique_ptr<Hwc2::Composer> composer): mComposer(std::move(composer)),mMaxVirtualDisplayDimension(static_cast<size_t>(sysprop::max_virtual_display_dimension(0))),mUpdateDeviceProductInfoOnHotplugReconnect(sysprop::update_device_product_info_on_hotplug_reconnect(false)) {}HWComposer::HWComposer(const std::string& composerServiceName): HWComposer(std::make_unique<Hwc2::impl::Composer>(composerServiceName)) {}HWComposer::~HWComposer() {mDisplayData.clear();
}
}

HWComposer构造函数通过它的委托构造函数,通过std::make_uniqueHwc2::impl::Composer(composerServiceName)实例画,那么Hwc2::impl::Composer的实现在哪呢?

2.ComposerImpl实现(Hwc2::Composer是它的别名)

hardware/interfaces/graphics/composer/2.1/utils/hal/include/composer-hal/2.1/Composer.h

<1>.Composer定义,它是ComposerImpl的别名
using Composer = detail::ComposerImpl<IComposer, ComposerHal>;
template <typename Interface, typename Hal>
class ComposerImpl : public Interface {public:static std::unique_ptr<ComposerImpl> create(std::unique_ptr<Hal> hal) {
http://www.shuangfujiaoyu.com/news/44297.html

相关文章:

  • 锦州做网站互联网广告公司
  • 韩都衣舍网站建设营销推广方案设计
  • wordpress去掉顶部成都seo优化公司
  • 做自己的网站要多久如何推广一个项目
  • 国内做网站的顶尖公司卡点视频免费制作软件
  • 烟台中企动力提供网站建设搜狗seo软件
  • 网站正在维护中百度平台电话多少
  • 网站开发后期做什么seo视频教学网站
  • 赌博网站怎么做的什么软件能搜索关键词能快速找到
  • 做文献综述用什么网站seo优化师是什么
  • 上海招考热线网站首页百度财报q3
  • 开源wordpressseo的外链平台有哪些
  • 视频网站后台管理重庆seo1
  • 建行个人手机银行西安关键词优化平台
  • 做外贸的网站要多少钱关键词优化价格
  • 静态网站和动态网站区别网站排名优化服务公司
  • 网页设计网站的设计与规划流量大的推广平台有哪些
  • html语言做网站推广页面
  • 甘肃《党的建设》网站网络推广运营
  • 什么网站建设效果好网络营销的方式与手段
  • 技术支持 东莞网站建设石材上海推广外包
  • 网站建设模拟器自己搜20条优化措施
  • 乌鲁木齐网站建设中心黄冈网站推广软件
  • epcms网站模板参考消息网国内新闻
  • 怎样用网站模板做网站网络推广与营销
  • 怎样才能把网站做好网站seo专员招聘
  • 做网站的把网站写成一行个人网站设计毕业论文
  • 在天津做网站的公司长尾关键词举例
  • 一个虚拟主机绑定2个网站全球网站流量排名查询
  • 推广做网站电话电脑培训课程