- 浏览: 510948 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
michao:
大哥,还有aperture.exe吗? 发我一份,找不到呀,m ...
使用aperture框架让AS3与C++通信,执行本地代码 -
Aaron-Joe-William:
文件被删除了。下不了。
SQLite 数据库加密的一种解决方案 -
hanmiao:
樓主的文章不就是來自IBM Developers里的http: ...
mina 入门 -
howesen:
断包与粘包问题,需要处理下就好了
mina接收数据不全(2) -
sniciq:
git clone --recursive git://git ...
ESB学习笔记(Spring Integration实战)
最近去一家台企面试,对方给我出了十道“难道”:
- 在TileList中如果選擇檔過多,會出現捲軸,當拖動捲軸時,渲染的進度條會出現花屏現象;
简体:在TileList中如果选择档过多,会出现卷轴,当拖动卷轴时,渲染的进度条会出现花屏现象; - 電子白板中,控制權轉移;
简体:电子白板中,控制权转移; - 電子白板中,畫面同步;
简体:电子白板中,画面同步; - 電子白板中,錄影;
简体:电子白板中,录影; - FLASH置頂問題;
简体:FLASH的置顶问题; - 聊天表情無法复制粘贴,由于聊天表情是动态文本,所以添加到textflow中的是一个sprite对象;
简体:聊天表情無法复制粘贴,由于聊天表情是动态文本,所以添加到textflow中的是一个sprite对象; - 老板模式,当系统焦点离开air程序后,无法检测到系统的key_down事件;
简体:老板模式,当系统焦点离开air程序后,无法检测到系统的key_down事件; - Air注册表操作(登陆启动look程序);
简体:Air注册表操作(登陆启动look程序); - 在1.5的air运行时环境下,中文不能输入问题,因为客户端可能已经安装1.5的运行时,在网页安装中只能检测客户端是否安装了运行时,却无法检测到版本信息或者更新运行时;
简体:在1.5的air运行时环境下,中文不能输入问题,因为客户端可能已经安装1.5的运行时,在网页安装中只能检测客户端是否安装了运行时,却无法检测到版本信息或者更新运行时 - 隐藏window边框后,鼠标在拖动窗口边界改变窗口大小时,不能设置系统光标样式。
简体:隐藏window边框后,鼠标在拖动窗口边界改变窗口大小时,不能设置系统光标样式
PS:一种语言在发音上有几十种不同的方言风格,在书写上竟然也有两种截然不同的风格,不止何时可以统一。
杂症病因及解决方案简略:
1, ItemRenderer的花屏问题
并非TileList有这个问题,在Flex3内,DataGrid,List,Tree等控件如果使用不当,均存在这个问题;在先前的fl组件包 内的TileList组件也有类似阴影。根本原因在于,使用ItemRenderer的大数据控件,其在渲染时,并不会一次创建所有数据列/行的显示对象 (ItemRenderer),它仅会创建在屏幕上可见的数据列/行,并且重复利用这些显示对象,以提交运行时效率。
可以做这样一种代码实验,以帮助人们理解这种机制:在一个TileList控件内,它本身有滚动条,它的ItemRenderer也使其有滚动条, 在多屏数据的情况下,任意滚动一个ItemRenderer的滚动条,然后滚动TileList的滚动条到另一屏,你会发现,虽然数据已经变了,你从未滚 动过这个数据,但它与你先前滚动过的那个数据具有相同的滚动位置。
从严格意义上讲,这并不能算是Adobe的bug,因为如果你严格按照Adobe的官方说明使用,多数情况下,是不会出现的,因此这个bug的复现 也颇具难度。从Flex SDk 3.5开始,Adobe Flex团队,对所有基于ItemRenderer实现的数据控件针对开发者遇到的问题进行了改良,优化了SDK内部控件实现方法,并且添加了一个 offscreenExtraRowsOrColumns属性,该属性意为非显示区域的行或列数,用于帮助开发者在特定情况下遇到的花屏问题。
如果遇到这个问题,如果解决(方案按优先级自上向下排列):
1) 修改策划
显示大数据时,传统滚动条是一个糟糕的设计,因为人的眼晴对于大量的,重复结构的数据,很难定位上次查看的位置,多数人都是边察看边用指在屏幕上做标记。此种情况下,
a)要么不使用滚动条,使用翻页,用户每次翻页后,重新取数据、向数据控件赋值,在这种情况下,DataGrid,TileList等均不会出现花屏问题,因为压根儿就不会有滚动,但在此时,使用Repeater效率更高
。
b)要么设计一种粗粒度滚动条,如下图示意:
在这种粗粒度滚动中,每一个点相关于翻页设计中的一页,用户拖动时还相当有手感,相对传统滚动条要好许多,这种设计在许多产品中都已经开始使用。
2)在更新DataProvider时手动刷新控件视图
每次当data有变化,均手动再次设置一次ItemRenderer,大意如下:
list.itemRenderer = new ClassFactory(YourItemRenderer);
注:在Gumbo中,如果使用Bindable绑定数据,FB在编译时已经做了代码优化。所以,多数时候,按照官方方法可以避免很多问题。
3)使用offscreenExtraRowsOrColumns属性调整
这是最BT的方案,让人感觉是Adobe自己用算法难已处理了,所以请用户告诉控件目前有多少数据列/行在显示区外。具体用法请参照livedoc说明。
2-4,电子白板问题简略
在白板开发中,控制权转移,画面同步,录影属于基本功能点。在技术技巧上,录影使用ImageSnapshot取得数据,剩下的便是系统架构师的事情。白板若要做好,方方面面必须设计好,特别是多人同时在线应用。
最基本的白板实现方案是基于ShareObject,但这种实现是demo级的,既浪费资源性能又低,比较合理的设计,作者认为应该是这样:
1)控制权转移实则是多人数据同步,数据同步不要使用SO,当控制权变化时,由Server处理并向Client广播,如果在同一时间内白板只充许有一人控制,此时仅需向二人广播,如果其它人也需要知道当前人控权者是谁,通过另外统一的状态广播实现。
2)画面同步必须设计出二种机制,一种为指令绘制型,另一种为图像同步型。对于后来进入观看白板的人用户,它第一次需要向server请求当前最新的白板
画面,server选择一个最可靠的client的白板数据发给新来者,或者使用p2p技术直接由client端发送。指令绘制型用于在活动用户之间更新
白板数据、动作。指令需自行设计,这种设计可以轻松实现白板重绘。
3)录影在这里有两种实现,一种为ImageSnapshot,另一种为指令重绘型。
5,FLASH的置顶问题
默认情况下,在网页中swf对象之上放置不了浮动层,解决方案是修改FlashVars属性值,把wmode修改为opaque,同时对照其它对象,排列z-index。
6,聊天表情無法复制粘贴,由于聊天表情是动态文本,所以添加到textflow中的是一个sprite对象
这个问题没有一步到位的方案,属于架构师考虑的设计问题。自定义一种输入框,自定义一套emoticon标签,每一个表情用一个自定义标签标识,监 听输入框的copy与paste事件,送入剪辑板的数据仅包含emoticon标签,而不是图像数据,在paste时进行解析、替换。
7,老板模式,当系统焦点离开air程序后,无法检测到系统的key_down事件
系统焦点离开AIR后,即使在AIR中有KEY_DOWN事情监听也无济于事。解决方案是,rumtime升级到AIR 2.0,在AIR程序启动时,同时启动一个C++ native progress,当AIR程序最小化至系统托盘后,由C++程序负责监听系统按键,以此实现AIR程度快捷键呼出。
8,Air注册表操作(登陆启动look程序)
Air直接写不了,解决方案有两种方向:
1)与问题7同,使用nvtive progress写注册表
2)不使用AIR,使用替换解决方案Flex4U
9,在1.5的air运行时环境下,中文不能输入问题,因为客户端可能已经安装1.5的运行时,在网页安装中只能检测客户端是否安装了运行时,却无法检测到版本信息或者更新运行时
这里面有二个问题,第一个,对于必须要求rumtime为2.0的air程序,在编译时指定,强制用户升级。
第二个,在网页中安装air,如何知道用户的air rumtime版本?
Adobe的air网页在线安装是通过这个swf实现的:
http://airdownload.adobe.com/air/browserapi/air.swf
下载,反编译后,里面使用一个叫做ProductManager的类进行客户端环境的签别,验证。一共有两个类文件:AIR.as与AIRLCEndpoint.as。
从原理上讲,可以hack反编译之后的源码,重新编译为自已的air.swf,然后自定义bridge网页安装实现。
10,隐藏window边框后,鼠标在拖动窗口边界改变窗口大小时,不能设置系统光标样式
这个问题不复杂。如果不使用系统镶边,自定义光标显示对象,添加进显示列表,并添加事情监听实现缩放与拖动逻辑。在livedoc中官方曾见有示例,有兴趣的朋友可以查一查。
发表评论
-
Windows环境下配置+运行red5源码+AS3连接red5简单示例
2010-04-19 13:39 5184Windows环境下配置+运行red5源码+AS3连接red5 ... -
使用aperture框架让AS3与C++通信,执行本地代码
2010-04-08 16:48 3258我们都知道,AIR的效果是非常出色的,这也是大家喜欢她的原因, ... -
SQLITE入门至精通
2010-04-07 11:13 3026关键 ... -
教你解析FLEX JSON中的一个问题 关于键值 和键
2010-04-01 15:25 2326字符串:message = ' "param&quo ... -
air写文件保存在安装目录
2010-03-31 15:46 3223AIR中..保存文件我们般会像下面这样操作 var f ... -
弱弱的一个小问题,bitmapdata pngencoder base64 bytearray
2010-03-31 14:16 1154好久没写东东了,呵呵。随便写点点。关于bitmapdata如何 ... -
FLASH教程:SWF间的双向通信
2010-03-02 18:23 1363假设有一个主 SWf 名为 m ... -
如何把as文件生成swf格式文件
2010-03-02 18:22 5291一,从http://opensource.adobe.com/ ... -
Flex数据交互方法 :httpservice, webservice, RemoteObject, socket
2010-02-27 17:06 1913【转载】 文章分类:Flash编程 http://h ... -
理解Flash Player 9垃圾回收机制
2010-02-02 18:27 1089理解Flash Player 9垃圾回 ... -
BlazeDS入门教程-很详细-赞原创作者一个
2010-01-11 23:51 1723什么是BlazeDS呢?BlazeDS是一个基于服务器的Ja ... -
一些漂亮的Flex主题下载
2010-01-11 10:31 6178一些漂亮的Flex主题下载1Digg meWindows Cl ... -
通过Stratus 服务器在Flash Player中使用RTMFP 开发 点对点应用(一)
2010-01-08 17:43 5401作者:Jozsef Vass 译者:巴巴鲁 ... -
ActionScript 3.0著名开源库 大集合
2009-12-29 17:26 2046这篇文章开始于对Adrian ... -
Flex 读取XML配置文件总结
2009-11-19 11:45 1990在Flex中我 ... -
一个list定义组件,网上找了很久没有,自己做了一个。
2009-10-29 11:55 1252一个list定义组件,网上找了很久没有,自己做了一个。希望对大 ... -
如何使用Flex RemoteObject components 与JAVA交互
2009-10-08 18:04 53132008-12-25 | 22:53分类:前端开发 ... -
flex 在线录制视频语音
2009-09-12 17:45 3649<?xml version="1.0" ... -
flex 蒙板 遮罩
2009-09-11 17:09 3876方法一 <mx:Image source=&q ... -
如何自定义FLEX3的loading进度条
2009-09-05 10:17 1755第一种:修改下载进度的文字为中文 建立扩展至 mx.prel ...
相关推荐
17个Docker常见疑难杂症解决方案汇总.docx
MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化MongoDB疑难杂症分析及优化...
在IT领域,系统疑难杂症处理是每个用户和专业技术人员都可能遇到的挑战。系统问题可能涵盖硬件故障、软件冲突、驱动程序问题、操作系统错误、病毒攻击、性能下降等多种情况。针对标题和描述中提到的“系统疑难杂症...
包括很多关于计算机故障原因,解释以及解决的知识,方面计算机使用者在使用过程中对出现故障的机器进行维护
"各类电脑疑难杂症处理"这个主题旨在提供一个全面的解决方案集,帮助用户解决他们在日常使用电脑时遇到的困扰。下面,我们将深入探讨一些常见的电脑问题以及相应的处理方法。 1. **硬件问题**:电脑硬件故障可能是...
总的来说,这份"Java 疑难杂症_笔记"是一个全面的指南,它涵盖了从基础到高级的Java开发中可能遇到的各种问题及其解决策略。通过深入学习和实践,Java开发者可以提升自己的技能,更好地应对项目中的挑战。
关于MySQL数据库疑难杂症排查,审明:本资源归原作者所有。
首先,文档标题《一网打尽sap各类用户疑难杂症》暗示了文档的主旨,是为了解决在使用SAP系统时可能遇到的各类问题。SAP是全球领先的企业资源规划(ERP)软件供应商,其产品被广泛应用于企业资源管理、客户关系管理、...
MySQL数据库疑难杂症排查 MySQL 数据库是一种关系型数据库管理系统,广泛应用于各种 Web 应用程序中。但是,在实际应用中,我们经常会遇到各种问题,例如数据库打开速度慢、查询效率低、服务器负载高等问题。因此...
处理Excel疑难杂症时,可能会遇到以下几种情况: 1. **错误处理**:在使用COM对象时,可能会遇到文件已被其他进程占用、路径错误等问题。我们需要捕获并处理这些异常,确保程序的稳定运行。 2. **性能优化**:大量...
"电脑疑难杂症解决方法"这个资源正是为了帮助用户解决这些头疼的问题而整理的。它涵盖了多种常见的电脑故障及其解决方案,旨在提供一个详尽的指南,帮助用户在遇到问题时能够迅速找到解决之道。 1. **系统启动问题*...
本文将基于“mysql疑难杂症”这一主题,详细介绍如何定位并解决常见的MySQL性能问题。 #### 二、问题确认与分析 当遇到网站加载速度变慢或者其他与MySQL相关的问题时,首先要进行的是问题确认: 1. **全网用户...
《RoseHA for Windows疑难杂症问题及解决办法》 RoseHA for Windows是一款针对Windows操作系统的高可用性解决方案,旨在确保关键业务服务的连续运行。在使用RoseHA时,可能会遇到各种问题,本文档将深入探讨这些...
Ubuntu Linux 系统疑难杂症的解决办法 在 Ubuntu Linux 系统中,经常会遇到各种各样的问题,但幸运的是,因为 Linux 的开源特点,我们可以在源代码级找到症结所在。这篇文章将介绍 Ubuntu Linux 系统中各种疑难杂症...
局域网共享问题(各种疑难杂症的解决)借鉴.pdf
【电脑疑难杂症在线解答集锦】是一篇针对初级电脑用户的文章,主要涵盖了电脑使用过程中常见的问题和解决方案。这些问题包括: 1. **软盘引发启动错误**:当电脑开机时出现"Non-System disk or disk error replace ...
本篇文章将深入探讨如何解决Outlook中的常见疑难杂症。 一、邮件导出与备份 邮件导出是确保重要数据安全的重要步骤。在Outlook中,你可以通过以下步骤导出邮件: 1. 打开Outlook,点击“文件”菜单。 2. 选择...
“电脑专家2009”是一个在线即时答疑软件。无论是电脑初学者还是老手,在使用电脑时总会遇到这样那样的问题——我的操作系统怎么出现蓝屏了,我用的好好的软件...你来问,大家来答,电脑使用的各种疑难杂症为您一一化解
针对这种情况,开发了一款名为“电脑疑难杂症处理工具”的软件,它是一款绿色特别版,旨在帮助用户解决这些问题。 首先,我们来探讨一下电脑疑难杂症的常见类型。这些杂症可能包括但不限于:电脑运行缓慢、频繁卡顿...