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

增城做网站公司私人网站如何建

增城做网站公司,私人网站如何建,php网站建设原码,阿里云建设网站教程引言 前一篇文章Android 进阶——图形显示系统之底层图像显示原理小结(一)介绍了关于Android 图形显示系统的基础理论,相信你对于Android的图形显示系统中图形界面渲染刷新机制有了更深的了解,接下来进一步讲解VSync和Choreography的联系和作用。 一、VSync 信号的产生概…引言 前一篇文章Android 进阶——图形显示系统之底层图像显示原理小结(一)介绍了关于Android 图形显示系统的基础理论,相信你对于Android的图形显示系统中图形界面渲染刷新机制有了更深的了解,接下来进一步讲解VSync和Choreography的联系和作用。 一、VSync 信号的产生概述 VSync 可以提升Android 图形显示效果,VSync信号一般是由底层硬件直接产生并由显示驱动程序向应用层上报,但是为了兼容在不支持硬件VSync 机制设备上也能高效地展示Android,也提供了软件模拟方案产生VSync信号——通过HWComposer(模拟硬件显示设备的类)在间隔固定时间(纳秒级别)发送消息给EventHandler处理。 1、HWComposer 在HWComposer的构造函数里,初始化EventHandler进而动态装载HWComposer的硬件模块初始化硬件回调上下文指针。 由SurfaceFlinger 去创建和管理 HWComposer::HWComposer(const spSurfaceFlinger flinger): mFlinger(flinger),mAdapter(),mHwcDevice(),mDisplayData(2),mFreeDisplaySlots(),mHwcDisplaySlots(),mCBContext(),mEventHandler(nullptr),mVSyncCounts(),mRemainingHwcVirtualDisplays(0) {...loadHwcModule(); }当HWComposer::vsync函数触发时就模拟发送VSync 模拟信号(消息)。 void HWComposer::vsync(const std::shared_ptrHWC2::Display display,int64_t timestamp) {...mEventHandler-onVSyncReceived(disp, timestamp); }2、EventHandler class HWComposer {public: class EventHandler {friend class HWComposer;virtual void onVSyncReceived(int32_t disp, nsecs_t timestamp) = 0;virtual void onHotplugReceived(int32_t disp, bool connected) = 0;protected:virtual ~EventHandler() {}};... }二、Choreographer 1、Choreographer概述 前面我们知道仅仅依靠VSync 机制无法确保最优的显示效果,因为绘制是随机的,我们必须要还要制定一些规则控制绘制,于是乎Android 引入了一个很艺术的角色——Choreographer 中文意思是编舞者,顾名思义对舞蹈动作进行编排控制(此处老外还是挺浪漫的把UI的绘制看成是一场舞蹈,而Choreography 就是这场舞蹈动作的编舞者),Choreographer 处理VSync 信号并指导CPU/GPU开始计算/绘制,确保了收到VSync 信号时才开始进行绘制,避免了绘制的随机性。简而言之Choreographer监听处理VSync信号通知并协调应用进行屏幕刷新,即实现了 “Drawing with VSync”。 Google在Android 4.1系统中对Android Display系统进行了优化:在收到VSync pulse后,将马上开始下一帧的渲染。即一旦收到VSync通知,CPU和GPU就立刻开始计算然后把数据写入Buffer。通常应用层不会直接使用Choreographer,而是使用更高级的API,例如动画和View绘制相关的ValueAnimator.start()、View.invalidate()等,业界一般通过Choreographer来监控应用的帧率。 2、 触发Choreographer的创建 2.1、Activity启动后通过ActivityThread#handleResumeActivity触发Activity#onResume方法回调 final void handleResumeActivity(IBinder token,boolean clearHide, boolean isForward, boolean reallyResume, int seq, String reason) {ActivityClientRecord r = mActivities.get(token);// TODO Push resumeArgs into the activity for considerationr = performResumeActivity(token, clearHide, reason);//触发onResume方法if (r != null) {final Activity a = r.activity;if (r.window == null !a.mFinished willBeVisible) {r.window = r.activity.getWindow();View decor = r.window.getDecorView();decor.setVisibility(View.INVISIBLE);ViewManager wm = a.getWindowManager();WindowManager.LayoutParams l = r.window.getAttributes();a.mDecor = decor;l.type = WindowManager.LayoutParams.TYPE_BASE_APPLICATION;if (r.mPreserveWindow) {a.mWindowAdded = true;r.mPreserveWindow = false;ViewRootImpl impl = decor.getViewRootImpl();if (impl != nu
http://www.hkea.cn/news/14301947/

相关文章:

  • 制作网站的步骤域名无锡住房和城乡建设厅网站
  • 海外直邮购物网站网站建设人员工作要求
  • 自己可以做网站服务器wordpress 删除首页
  • 网站建设要懂哪些技术国外网站 备案吗
  • 购房网站系统建设方案网站代运营协议
  • 商务网站建设兴田德润电话多少wordpress缓存规则
  • 乔拓云建站平台不是免费的北京 网站 优化
  • 做外贸网站需要请外贸文员吗seo信息网
  • 安阳百度网站制作多少钱espresso wordpress函数
  • 广州邮局网站点开图片跳到网站怎么做的
  • 1万网站建设费入什么科目海南建设厅评审网站
  • 做网站需要审核资质吗南和企业做网站
  • 聊城网站建设公司电话软件开发人员外包
  • 巨野网站定制哈尔滨网站排名公司
  • 广州企业建站公司镇江网站托管
  • 做论文查重网站代理能赚到钱吗微信开发网站设计
  • 电商网站设计与制作论文如何在服务器上放网站
  • app免费制作平台下载河北seo网站优化报价
  • 内蒙古电子商务网站wordpress lens 主题
  • 庐江县建设局网站信息互联网推广
  • 网站建设规划文档制作视频网站建设
  • 网站怎样在360做优化科技绘画作品图片大全
  • 山东省建设备案网站审批表oa系统办公软件怎么用
  • 宁波seo网络推广公司排名百度seo刷排名网址
  • 苏州网站建设布局网站seo优缺点
  • 智能科技网站模板汉鼎中国 网站建设
  • 建立网站就可以赚钱了吗开个网要多少钱
  • 免费网站一键生成印度软件外包
  • 长沙臻钬建站活动方案平面设计最好的网站
  • 推荐 网站空间公司网站开发语言