菜单
  

    举个例子,当用户触摸屏幕上的按钮时,应用程序的UI线程把触摸事件分发给widget,widget先把自己置为按下状态,再发送一个显示区域已失效(invalidate)的请求到事件队列中。UI线程从队列中取出此请求,并通知widget重绘自己。
    如果应用程序在与用户交互的同时需要执行繁重的任务,单线程模式可能会导致运行性能很低下,除非应用程序的执行时机刚好很合适。如果UI线程需要处理每一件事情,那些耗时很长的操作,诸如访问网络或查询数据库等,将会阻塞整个UI(线程)。一旦线程被阻塞,所有事件都不能被分发,包括屏幕绘图事件。从用户的角度看来,应用程序看上去像是挂起了。更糟糕的是,如果UI线程被阻塞超过一定时间(目前大约是5秒钟),用户就会被提示“应用程序没有响应”(ANR)对话框。如果引起用户不满,他可能就会决定退出并删除这个应用程序。
    此外,Andoid的UI组件包并不是线程安全的。因此不允许从工作线程中操作UI,只能从UI线程中操作用户界面。于是,Andoid的单线程模式必须遵守两个规则:
    1.   不要阻塞UI线程。
    2.   不要在UI线程之外访问Andoid的UI组件包。
    2.7    3D图库分析
    Gallery3D的界面生成和普通的应用程序不一样。普通程序一般一个界面就是一个activity,布局用xml或代码都可以实现,界面切换是activity的切换方式;而Gallery3D没有用android的UI系统,而是用opengl画出来的,即界面是在同一个activity的,如主界面,缩略图界面,单张图片查看界面,标记界面等都属于同一个activity。
    在应用程序中有三个非常重要的线程存在:主线程(Gallery随activity的生命周期启动销毁)、MediaFeed初始化线程(进入程序时只运行一次,用于加载相册初始信息)、MediaFeed监听线程(一直在跑,监听相册和相片的变更),其中MediaFeed初始化线程的工作是:调用MediaFeed 的loadMediaSets加载相册。MediaFeed监听线程MediaFeed.run()的工作是:根据“内容变化监听器“返回的媒体变动消息 (增删改),持续不断的更新 MediaFeed中的相册和相片变量。
    Gallery3D中定义了很多控件它们都继承自com.cooliris.media.Layer,分别代表不同场景和界面下的UI元素,具体有如下控件。
    com.cooliris.media.GridLayer :          网格所略图显示和单个图片显示
    com.cooliris.media.BackgroundLayer :    背景
    com.cooliris.media.HudLayer :          相册显示
    com.cooliris.media.ImageButton :        图片按钮(主要指进入Gallery后右上角的那个控件)
    com.cooliris.media.TimeBar :           进入Gallery后下方可拖动的悬浮控件
    com.cooliris.media.MenuBar :           点击图片时弹出的菜单按钮
    com.cooliris.media.PopupMenu :         点击菜单按钮后弹出来的菜单项
    com.cooliris.media.PathBarLayer :        如今Gallery后左上方显示图片路径的空间
    Gallery3D的渲染从 RenderView 开始。RenderView 从 GLSurfaceView 继承而来,采用了通知型绘制模式,即通过调用requestRender 通知 RenderView 重绘屏幕。RenderView 将所有需要绘制的对象都保存一个 Lists中,Lists 包含了5个ArrayList,其定义如下所示:
    public final ArrayList<Layer> updateList = newArrayList<Layer>();
    public final ArrayList<Layer> opaqueList = newArrayList<Layer>();
    public final ArrayList<Layer> blendedList = newArrayList<Layer>();
  1. 上一篇:超市库存系统的国内外研究现状和发展趋势
  2. 下一篇:JSP+mysql药品销售及管理系统设计与实现+用例图
  1. JAVA基于安卓平台的医疗护工管理系统设计

  2. 基于Hadoop的制造过程大数据存储平台构建

  3. php+mysql志愿者服务平台前端页面设计

  4. 《网站设计与管理》课程...

  5. Justep基于开放平台的企业...

  6. 基于IOS的游戏资讯平台的设计与实现

  7. android学习行为共享系统的设计与实现

  8. 中考体育项目与体育教学合理结合的研究

  9. 十二层带中心支撑钢结构...

  10. 河岸冲刷和泥沙淤积的监测国内外研究现状

  11. 乳业同业并购式全产业链...

  12. java+mysql车辆管理系统的设计+源代码

  13. 大众媒体对公共政策制定的影响

  14. 当代大学生慈善意识研究+文献综述

  15. 杂拟谷盗体内共生菌沃尔...

  16. 电站锅炉暖风器设计任务书

  17. 酸性水汽提装置总汽提塔设计+CAD图纸

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回