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

做网站一般图片多大青岛网站设计网站

做网站一般图片多大,青岛网站设计网站,上海好的设计公司,答题小程序制作Android平台浏览器当前多窗口方案为多个浏览器子窗口公用一个图形buffer#xff0c;窗口的z序和显示控制由浏览器进程维护#xff0c;图形侧只能看到一个窗口。该方案能基本实现浏览器多窗口的大部分需求。但无法实现linux机顶盒中存在的部分窗口交叉的业务场景#xff0c;即…Android平台浏览器当前多窗口方案为多个浏览器子窗口公用一个图形buffer窗口的z序和显示控制由浏览器进程维护图形侧只能看到一个窗口。该方案能基本实现浏览器多窗口的大部分需求。但无法实现linux机顶盒中存在的部分窗口交叉的业务场景即在浏览器多个窗口间交叉存在其他应用窗口(图1)。4设计思路4.1Android和其他系统(Qt/Windows)窗口概念的差异1.进程、窗口、生命周期在windows和linux系统中在程序启动之后排除意外情况程序的退出基本由程序自己控制期间没有什么状态切换。(不考虑资源阻塞和内核调度这些对应用程序基本是透明的)Android的一个应用在底层也是linux的一个进程但在上层弱化了进程的概念抽象出了Activity这样一种交互。代码直接控制的是Activity用户的交互也是Activity。Activity是从用户交互的角度抽象出来的一个对象在概念和使用上和进程相隔离。进程类似一个收养的功能一个进程可以有多个Activity不仅可以收养自己当前应用的Activity也可以收养其他安装包指定给该进程的ActivityActivity销毁了进程并不销毁(除非系统需要或代码强制杀死进程)。可以简单理解为在win/linux中一个进程有多个窗口用户和每个window进行交互在Android中用户“跳过”进程直接和窗口Activity交互Android对Activity提出了生命周期的概念下面是摘抄自google sdk的描述2.Activity生命周期的主要影响1.系统侧内存低时会杀掉非active的Activity(即不在最上层的Activity)2.应用侧当应用程序在非active状态时可以释放部分资源和停止部分操作来降低CPU和内存的使用。(如浏览器非active时执行gc,停止网络停止webkit的内核时钟…)3.父子窗口间的通讯在Win/Qt中一个进程可以有多个窗口在进程中通过窗口句柄可以完成对窗口内容的绘制。Android中Activity之间并不存在窗口句柄的概念Activity之间不是父子的关系是兄弟的关系。两个Activity之间只能在开启Activity时通过入参传递内容在Activity启动之后通过IPC(broadcast、content provider,binder…)完成数据交互类似两个进程间通讯在同一个进程的多个Activity对象也可以通过同一个Application对象进行数据交互。4.2其他系统Qt/Windows多窗口及z序的实现Qt中多窗口的实现BrowserMainWindow *browser new BrowserMainWindow();//向图形申请新窗口返回窗口句柄……browser-show();//通过句柄直接操作该窗口原始Qt中的z序在Qt中所有窗口由窗口管理器进行管理来实现Z序及按键派发。但不支持函数接口设置窗口的z序。窗口的z序为窗口启动的顺序。窗口焦点属性(focusable/unfocusable)已提供接口由应用程序设置widget属性来控制窗口是否可接受按键消息。z序的主要修改1.提供接口设置窗口的z序实现混屏操作将窗口显示出来2.选择正确的焦点窗口将用户事件(鼠标、键盘)派发到该窗口4.3Android 多activity和已有 z序Android开启activity使用系统startActivity函数函数声明如下public void startActivity (Intent intent)使用方法startActivity (new Intent(BrowserActivity.ACTION_RESTART, null, getActivity(), BrowserActivity.class));Android中已有的z序Android中activity的Z序并不直接由Activity和WindowManagerService(后文简写为WMS)进行交互而是由ActivityManagerService (后文简写为AMS) 来触发管理。当用户在某个Activity交互过程中请求另一个Activity时当前Activity会向AMS发起请求由AMS对请求进行解析、处理之后启动新的Activity在新Activity启动流程中会attach到WindowManagerService中完成窗口的显示。在新旧窗口的更换过程中AMS会负责改变2个Activity的状态。在Android中的Activity的交互请求都是直接和AMS进行交互窗口的操作是附属在AMS管理的流程中。4.4Android浏览器图形侧多窗口方案方案一Android使用多activity实现浏览器的多窗口主要有以下困难1.得不到窗口的句柄不易于操作数据。(浏览器)2.在窗口切换时存在生命周期的切换 (浏览器)已上问题导致了浏览器通过多Activity实现多窗口在数据的管理和状态的控制上均是比较困难的。方案二在Android中提供了一种创建临时窗口的方法即跳过AMS直接和WMS交互生成新窗口在Android中的Dialog提示框就是这样实现的。因为绕过了AMS所以在创建新窗口时不存在生命周期切换的问题另外也可以直接控制绘图的区域。调用方法为wm(WindowManager)getApplicationContext().getSystemService(“window”);//得到系统WMS服务的binder对象//wmParams 设置窗口属性….//请求WMS生成一个窗口并将myView加到窗口内容中wm.addView(myView, wmParams);4.5浏览器多窗口实现效果测试环境为Widget测试页面图中左侧的菜单栏和右侧的时钟显示分别在2个窗口中左侧菜单栏为父窗口右侧时钟为子窗口。使用4.4中的方案二将浏览器子窗口在WMS申请的新窗口中显示。这样在图形中可以看到有2个浏览器窗口信息通过设置窗口的属性强制子窗口为系统最顶层窗口。按系统MENU键弹出系统菜单(即第三方应用程序)此时效果如下由上图可以看出该方案能实现浏览器在图形中申请多个窗口并实现第三方应用窗口夹在浏览器窗口中间。4.6方案实现存在的问题1.图形侧必须提供设置窗口z序的函数。由于Android存在AMS、WMS两套服务管理activity和窗口结构更负责图层侧难度较大。2.应用生命周期的问题当其他应用出现在浏览器主Activity之前时不论前面弹出了多少个浏览器的子窗口浏览器的生命周期都进入onPause状态。3.采用该方案开启4个全屏窗口后图形buffer溢出程序崩溃崩溃信息如下图形侧buffer申请失败。
http://www.zqtcl.cn/news/72792/

相关文章:

  • 万网公司注册网站东莞保安公司有多少家
  • wordpress企业网站模板下载网站域名地址
  • ps做网站横幅网页模板下载 免费 html
  • 江苏初中课程基地建设网站小程序源码无需服务器
  • 建设银行集团网站深圳外贸公司注册
  • 深圳网站建设黄浦网络-骗子网页版手游
  • 成都建设厅官方网站广州知名网站建设后台管理便捷
  • muse网站设计解决方案视频教程免费域名申请网站大全下载
  • 手机端网站开发流程图优化大师绿色版
  • 网站建设中故障分类和排除方法网站前置或专项审批
  • 甘肃省第九建设集团网站nginx wordpress 重写
  • 网站后台怎么替换图片桓台网站推广
  • 无锡网站建设公司排名有哪些网站教做吃的
  • 专业的论坛网站建设开发wordpress win2003
  • 手机网站搜索做西装的网站
  • 用yershop做网站wordpress gif 点击播放
  • 甘肃城乡建设局网站wordpress能做成社区吗
  • 帮别人做网站市场价影响网站权重的因素有哪些
  • 网站首页没排名但内页有排名58同城找工作 招聘
  • 做企业网站的做企业官网需要多少钱
  • 自贸区网站建设营销型网站建设多少钱
  • 专门做问卷的网站做网站程序先从哪一步开始
  • 检测网站访问量网站建设和实现论文
  • seo 网站分析奢华网站模板
  • 松江做移动网站中国外贸网站有哪些问题
  • 域名 不做网站sem代运营费用
  • 建站工具word洪江市网站
  • 泉州做网站优化的公司如何制作个人网页封面
  • 旅游网站推荐网页应用开发
  • 西京一师一优课建设网站怎样免费建立自己的网站