html5培训学习如何提高自己的学习效率?

您的位置: &>&&>& >>
已经帮助:人解决问题
首先,要谢谢CSDN hbhbhbhbhb1021(天外水火(我要多努力))和cuixiping(无心)的提醒。我会抽空把IE专有的方法如:insertAdjacentHTML的速度也给测出来看看是否合适大量数据时IE下,不用innerHTML的速度。这里的主要测试不是指生成数据时的速度,指的是匹配速度 ,例如我这里的匹配速度我测的10000条数据,有效数据为条,输出复杂的HTML,速度为360ms左右,方法为 正则匹配Match(有循环)希望贴出您的测试数据。行innerHTML和insertAdjacentHTML速度的测试,比均结果相差不会大于20ms(平均速度),在IE中insertAdjacentHTML速度还是很快的,在Mozilla下是得不偿失的。写这篇文章,其间我也是删删减减的,所以语句也不怎么通顺,看的朋友也就辛苦了一些了。本文主要是出于有朋友使用我原来写的autocomplete的JS控件。当数据量大的时候,会出现效率极其慢的情况,我在这段时间做出的一些测试也及一些经验,与大家分享,如果有错的地方,还请指出。经过测试,我们会发现如下的情况或者说的结论,如果您的测试结果与我的不符,请说明原因,以便相互学习。1)当一个较大的HTML字符串给到obj.innerHTML时会出现麻烦。也就是说当一个较大的字符串在赋予一个Element的innerHTML时,这个过程将可能是我们无法容忍的。(而事实上这并非JS的错,而确实是String数据量太多)2)用拼合字符串的方法可以使效率提高,在字符串较大时,2)的情况仍然出现。超过一定的数量,速度会明显慢下来。3)正则匹配的方法会比平常遍历的方法要高效一些。4)在执行过程中,绑定事件的时间会花费更多一些。测试在1w条数据情况下,大约是匹配以及生成HTML数据的30倍,也就是说生成数据总花费100ms,而绑定事件则需要3000ms。5)总体来说。IE的速度要比Mozilla要慢(我用的是Firefox1.5做的测试)。6)大数据量时,不要用DOM生成Element。7)非JS内置方法,也许会引发很多时间过多重复的劳动而且可能事得其反。建议尽可能利会内置方法。总结问题:一、在把字符串给到innerHTML上。二、循环绑定事件所花费时间。三、生成我们需要的DIV所花时间。四、不同的浏览器问题。下面对症下药:问题一我们可以做的没有其它的,只有尽可能少的HTML字符串,比如最基本的一个DIV,可以这样写&div style="height:20 font:9pt V"&&/div&也可以这样写&div class="c1"&&/div&,第二种就比第一种速度明显要快的。如果还不行的话,请看下面这个方法对你是否合适在做程序的时候突然想起来51js上PK tree,一位版主所写的一棵树,1百万的一个节点,动态载入。只需要不到1秒。毫无疑问,肯定是取巧了,因为只要只生tree的html就是一个很大的数量。这个树的特别的地方就是生成树时,并非把1百万的节点都一次生成innerHTML,而是只生成在视角范围内的节点,当滚动条向下滚的时候,才动态的再生成树节点。这个方法至少我觉得思想很开阔,很有价值。我们所知道,mySQL数据库里取数据可以这么取。SELECT * FROM table limit 0,100,意思是只取数据库中的0-100条数据。说到这里可能有些朋友也想到了,在JS中,我们可以利用这个方法来取数据,将一个数组看作是一个表。只是单纯的数据表,非二维表。如图利用这一些,我们可以把数据有效的值先取出来。如图:想想看。假如我们取一个数组,下标为10000,设生成一个autocomplete的节点HTML长度20(已经非常小了"&div class="out"&item&/div&)。匹配数据已知:有3000条数据输节字节数为:3000(asc码)也就是00字节而用limit方法,输出为:10*20=200字节。很明显的差距!之后我们便可以分步求解,即当滚动条出现,或者按下down(方向键)再动态的生成innerHTML。8-13更新:测了一下,用自己写的limit的速度,和自带的Array.slice的速度比了一下,速度差不多,而且有的时候还比slice的速度还要快一些。Array.prototype.limit = function(l, h) {var _a = var ret = []; l = l&0?0:l; h = h&_a.length?_a.length:h;for (var i=0; i&_a. i++) {if (i&=l && i&=h) ret[ret.length] = _a[i];if (i&h)};}有兴趣的朋友也可以自己测一下,贴出数据,看看哪个效率更好。问题二、为什么我们还要循环来绑定事件呢?还是由于问题一。假设这样写1)&div id="container"&&div onclick="handlerClick()"&never-online&/div&&/div&还可以这样写2)&div id="container"&&div&never-online&/div&&/div&document.getElementById("container").childNodes[0].onclick=function(){handlerClick()};这样也可以省掉一些字符串,从而节省字符串资源。但又需要把container的子元素再遍历,所以也会花费时间,用第一种方法还是第二种?我建议还是用第一种,但最好把字符串减到最低,如:&div id="container"&&div onclick="_c()"&never-online&/div&&/div&大数据量情况下,还是越少字符越好,虽然代码不怎么美观。问题三、生成DIV时我们可以这样生成var div = document.createElement("DIV");div.onclick=function(){};//TODO也可以这样用字符串var sHtml = "&div onclick=foo()&val&/div&";当数量小时,第一种速度会比第二种快。但当达到一个数量级时,第二种要明显比第一种快。总体来说第二种较好。因为第二种还可以更灵活,比如利用join,还有正则匹配。问题四、这个问题也不容忽视的。每个browser有不同的特点,速度执行也有不同,我个人觉得,这点和JS上优化效率上是一样的。尽可能的利用浏览器本身的内置方法,这样大多数情况下也可以把效率提高。那么如何能够把脚本的效率提高起来呢?1)用match匹配,一个aCache数组。循环match.length,并给aCache,之后用join(""),再给到innerHTML(此方法仍然需要循环,而且需额外的一个数组做临时数据存储)2)无需循环,但必须在生成数据时也额外生成指定字符串。(此方法也需要额外的空间做临时数据)如图:3)宁可多次判断,也不重复进行一次重新匹配。e.g:input控件中第一次取到的值为:1,第二次按下的值为12如果进行判断的话,可以事件存储一个值,也就是前一次按下的值。如上面的值1。第二次按下时没有退格,即再在前面的值中加一个字符2,那么我们将在前面1中匹配出的数据中进行匹配。这样可以大大的减轻循环的次数。4)利用问题一中所写的limit,将数据动态取出。这些能够很好的解决HTML字符串过大的问题,但此方法控制不当的话,也会事得其反。5) 利用range技巧来加入HTMLStr,也就是说,当一个HTML字符串太大时,再用innerHTML+=anotherHTMLStr,这样的方法,也是会让速度太慢,在IE中,我们可以用obj.insertAdjacentHTML("beforeEnd", anotherHTMLStr)这样的方法来插入HTML,这个方法经过测试,比较稳定。利用limit再加上insertAdjacentHTML,会使得插入的HTML代码速度更稳定,而在Mozilla中,则要利用range的技巧来达到此目的,如下: if (browser.isMozilla) {&HTMLElement.prototype.insertAdjacentHTML = function (sWhere, sHTML) {& var r = this.ownerDocument.createRange();&switch (String(sWhere).toLowerCase()) {&case "beforebegin":&r.setStartBefore(this);&df = r.createContextualFragment(sHTML);&this.parentNode.insertBefore(df, this);&&case "afterbegin":&r.selectNodeContents(this);&r.collapse(true);&df = r.createContextualFragment(sHTML);&this.insertBefore(df, this.firstChild);&&case "beforeend":&r.selectNodeContents(this);&r.collapse(false);&df = r.createContextualFragment(sHTML);&this.appendChild(df);&&case "afterend":&r.setStartAfter(this);&df = r.createContextualFragment(sHTML);&this.parentNode.insertBefore(df, this.nextSibling);&&}&};}后记:效率问题没有一个完整的解决方法,只有实践中根据需要而定。因此,上面的方法仅供您参考,如果你也有一些好的方法,可以在评论中写下您的经验,以便交流。
(责任编辑:)
友情链接:联系人:QQ您好,欢迎光临一网学 请
7 * 24小时全国免费咨询电话
400-655-3664
网页设计+HTML5培训套餐班
招生对象:零基础学员,想通过培训获得提升的在职人员。学完可进入广告公司、设计公司、互联网企业、电商企业以及传统行业设计部门从事网页设计、移动端设计相关工作。
课程时间:117天(节假日除外)
上课时间:周一-周五晚上7.45-9.00或9.00-10.30(课前发送预习视频,课后有问题随时联系老师)
课程价格:根据基础情况跟学习目的安排课程,价格也不一样,详情咨询客服! (可分期付款)
近期开班:查看
包含班级: /
班级特色:★4个月课程学习★项目实战★3个月试用期辅导
温馨提示:赶快申请免费试听,觉得好再报名
一网学完善精准的课程体系
七年来,我们对这几个月一直追求精益求精。在行业中打拼多年积累的珍贵经验,众多设计精英对课程体系的不断整合,这就是我们的课程体系。
PHOTOSHOP软件基本操作专业图像处理软件,用于广告、网页平面制作,内容涵括PS工具箱、图层、图层样式、图层蒙版、通道,路径、滤镜、调色,知识高度归纳与总结。DREAMWEAVER基本操作(DIV+CSS)网页设计布局软件,把设计好的平面制作成可访问的HTML网页格式。经验丰富的老师通过案例生动讲解,让枯燥的代码变的有趣易懂。
初识设计、审美提升理解常见网页设计术语,明确努力方向,会分辨网页设计作品、动画作品的优劣,为专业班系统讲解打下基础。PS软件深度强化通过商业BANNER广告案例加深对软件的理解,学会更多实际应用技巧,提升软件操作的效率。从BANNER案例学习中以小见大从尺寸较小的BANNER着手,比直接就去做完整的网页更容易上手,提升自信心,同时BANNER也是网页里面最出彩部分。
设计理论与美学法则明暗、透视、色彩等理论知识与设计中的实际应用;对比、平衡、和谐、比例、重心等美学法则在各类网站中的应用。技法的全面提升各类网页元素的绘制方式方法与案例中的实际应用。各类风格的表现手法日韩卡通风格、中国水墨气息风格、欧美简约大气风格商业案例实战HTML类:企业站、门户站、电子商务站、活动专题站。GLASH类:纯FLASH交互站案例赏析与创意提升各类站点的优缺点分析,学员作品的精确点评,灵感与实际案例的结合,创意的诞生与具体实现
掌握可视化的HTML开发工具不需要埋头写代码,很多东西就像我们在flash里面操作一样,完全为设计人员而开发的html5软件。丰富的动画效果制作告别单调的静态图片与文字展示,让一切都随着音乐懂起来,看网站就像玩游戏一样有趣,对了,不用懂代码。触屏交互,响应式排版、都不在话下没错,人与机器交互的功能当然用到了代码,不过不用担心,基本上你能想到的效果都有现成的,直接拿来用就行。PC端与手机端HTML5整站案例演示从整站框架搭建到动画效果的制作,从每个按钮的响应交互到网站最终呈现每一步都手把手教你做,学不会是我们的错。
老师辅导参加企业竞标把学员跟企业对接,辅导学员参与真实商业案例的竞标。让学员在学习的过程中就积累实战经验。如果你的作品够优秀,还可以带来不菲的收入。。报名就拥有专属工作室网站报名学员可以跟同学组建设计团队,成立,获得可自定义的工作室网站。学习宣传推广、商业设计报价,与客户沟通,团队合作的技能与经验。
签订合同,不就业全额退款我们不是分配工作,我们是让你选择一个有前景的行业,给你指明方向,同时让你具备从事这个工作的能力。个性简历,从无数应聘者中脱颖而出拒绝千篇一律的简历模板,明确招聘企业的关注点,把简历当做广告来做,我的未来,我设计。面试有技巧,工资自然高掌握常用职场礼仪,对面试常见问题做到胸有成竹,懂得如何展示自己的优势,教你如何让待遇超出你的期望。试用期辅导,新工作无压力一开始工作是不是压力很大,是不是担心很多问题搞不定被辞退,不要怕,让经验丰富的老师帮你忙。
html5培训案例
html5培训案例
html5培训案例
html5培训案例
html5培训案例
网页设计培训作品
网页设计培训作品
网页设计培训作品
网页设计培训作品
网页设计培训作品
没看过瘾?一网学社区海量学员作品让你看个够
网页设计&FLASH动画&BANNER设计&UI图标&界面设计
一网学学员感言
我们来自五湖四海,为了同一个梦想和目标,我们缘聚一网学
学员感言 Student testimonials
谢涛:90后也能独当一面
单位:深圳盛世创想广告公司
待遇:5000
岗位:网页设计师
感言:跟表弟一起报名的,表弟在深圳,所以上门了过, 学完
后我也去了深圳,找这份工作很顺利跟表弟一起报名的,
表弟在深圳,所以上门了过, 学完...
黄志辉:大学还没毕业就月薪5000
单位:微视互动
待遇:5000
岗位:网页设计师
感言:我是北京服装学院大三学生,通过朋友报名一网学互动设计套餐班,学完后第一家公司就面试成功,月薪5000,现在我对未来满怀信心。
肖艳斌:同学8个租房学习,现7个已就业
单位:深圳市博图广告有限公司
待遇:4500
岗位:网页设计师
感言:学的是动画专业,大三基本没课了,对前途一片迷茫,我们8个同学一起报名的,在学校边上租房学习,除去一个家里有安排的,剩下7个都已经找到工作。
李孙和:大二退学,却顺利的找到了工作
单位:浙江温州
待遇:4000
岗位:资深网页设计师
感言:各种原因,我大二退学了,心情跌落谷底,后来百度找到了一网学,在这里我学到了很多东西,毕业后顺利的找到了工作,相比文凭,能力更重要。
李双佳:从美工到互动设计师工资翻了一倍
单位:北京三星鹏泰
待遇:5000
岗位:互动设计师
感言:一开始我是在网建公司做美工的,说白了就是套模板,不仅工资低,而且枯燥没有创造性,在一网学学完后,现在工资翻了一倍,而且能学到很多东西。
朱盟:学习是最好的投资
单位:深圳欧顿男科医院
待遇:4000
岗位:网页设计师
感言:毕业后来深圳跟老爸一起上门缴费的,开始找了个工资不高但时间充裕的工作,边工作边学习,现在工资比所有同学都高,我觉得我的选择很明智。
刘明月:网页设计前景比平面设计好很多
单位:北京网势广告有限公司
待遇:4000
岗位:网页设计师
感言:开始做平面设计,整天排一些很低端的画册,主管月薪4000,完全看不到希望,后来改行做互动设计,这里我感觉能学到很多东西,每天都充满激情。
赵双:只要肯坚持就一定能成功
单位:奇兵赢互动
待遇:4300
岗位:网页设计师
感言:经朋友介绍报名一网学的,因为之前没怎么接触电脑,所以学起来有些吃力,很多课程老师都有安排我重听,虽然比别人花了更多时间,但是很值得。
李鑫:我把一网学网站翻了个底朝天
单位:北京和讯
待遇:8000
岗位:互动设计师
感言:偶然情况知道了一网学,但对于网络教学还是有些疑虑,那几天时间,我基本把网站所有内容看了个遍,现在我也有介绍我们的两个同学来学。
曹裕乐:孤注一掷为不辜负父亲期待的眼神
单位:杭州
待遇:3500+提成
岗位:互动设计师
感言:大学毕业就失业了,父亲挣钱非常不容易,万一一网学跟在学校一样学不到东西怎么办,最后真是孤注一掷了,欣慰的是我非常顺利的找到了工作。
付海楠:从文字录入员到设计师
单位:北京星河都市安科技有限公司
待遇:3税后5000
岗位:互动设计师
感言:之前做文字录入工作,不用解释大家也能体会有多枯燥,即使报名后对未来也很忧虑,在老师的鼓励下坚持了下来,不得不说一网学改变了我的命运。
周伟:专业班学到一半就已经找到工作
单位:南京易网科技有限公司
待遇:5000+提成
岗位:互动设计师
感言:我学的是互动设计套餐班,学到专业班的时候,为了积累些面试经验,花了大概半个月的时间准备案例并上传到了网上,没想到好几家公司找到了我。
单位:南京易网科技有限公司
岗位:技术总监
待遇:5000 加高提成
单位:北京京北医院
岗位:网页设计
待遇:6500
单位:电商设计公司
岗位:美工
待遇:3500+提成
单位:深圳搜房网
岗位:flash广告、网页设计
待遇:4000 四保
单位:广州指舞互动公司
岗位:网页设计师
待遇:4K+提成+五险
单位:上海泽熙信息科技有限公司
岗位:网页设计
待遇:2700公司交五险(有更新)
单位:北京-中视立天
岗位:flash互动设计师
待遇:4500 四保
单位:西安丰力通电子
岗位:高级UI设计工程师
待遇:5000+加五险
一网学强大的教师团队
腾讯、好耶、X-MOO……来自行业的精英,打造一网学强大的教师团队&&
老师:罗辉明
一网学创始人
老师:刘佳
IT公司设计总监
老师:侯帅
电子商务设计工作室开创者
老师:丁丛生
深圳博图广告互动设计师
老师:李鑫
United Virtualities创意部主管
老师:钟文
MediaV创意组长
老师:谭周洲
万摩互动资深设计师
老师:黄乔志
深圳博图广告创意经理
老师:陈星星
南京思芙美项目组长
老师:赵宇龙
礼无忧首席Web前端
老师:顾婷婷
天猫视觉设计师
老师:朱毅
自由设计师
老师:林晓斌
新长安环境艺术工程有限公司动画师
一网学的上课模式
有课堂的远程培训
跟只放视频教程的不一样,一网学采用先进的远程培训软件,统一上课时间,老师当场
讲解,学员、老师现场实时互动。课后发送录制视频,方便学员反复复习。学员做作业
的过程中碰到问题随时联系老师。
一网学的课程主要包含网页设计、互动设计、UI设计、淘宝美工、网页前端这5个方向。我们根据课程内容与性...
面对多如牛毛的大小培训机构,各说各的好,你的一步选择除了投入金钱,更需要投入很多时间,甚至自己的未来...
我了解了你们的培训课程,觉得很适合我,接下来我应该怎么做?联系谁报名?报名流程是怎么样的?
深刻透彻的讲解设计与美术基础的关系,网页设计行业前景怎么样?以及如何正确看待招聘方的招聘需求。
为了降低大家的报名风险,更低门槛的体验我们的优质服务与专业课程。也为了给一些有实际困难的同学提供帮助...
请详细填写您的问题,以便我们为您提供更好的服务.html5教程网站导航 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证号-56您现在的位置:
> 安卓开发中提高安卓程序效率的15种方法
安卓开发中提高安卓程序效率的15种方法作者:期&&& 16:14:01
兄弟连IT教育作为全国最大的PHP培训机构,迄今已有10年的教育历史。6大特色课程:PHP教程、安卓培训、JAVAEE+大数据、UI设计、HTML5培训、云计算架构师,在目前IT市场特别火,每门课程都由名师牵头,以认认真真的态度做教育,培养的学员过万,在学员心中树立了良好的口碑。
目前安卓市场存在着巨大的潜力,供不应求的市场导致企业需要大量的安卓人才去弥补市场空缺,专业的技术开发人才从哪里来,对于一个安卓开发者来说,安卓开发中的提高安卓程序效率也是一项重要的内容,到底如何提高安卓程序效率,如何优化安卓的性能呢?以下本文就介绍了15种优化安卓的性能的小技巧,希望对广大的者有所帮助!
& & 1.http用gzip压缩,设置连接超时时间和响应超时时间
& & http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。
& & 2.使用线程池,分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池,避免耗时任务阻塞线程池后,导致所有异步任务都必须等待
& & 3.尽量避免static成员变量引用资源耗费过多的实例,比如Context
& & 4.listview 性能优化
& & 1).异步加载图片
& & item中如果包含有webimage,那么最好异步加载
& & 2).快速滑动时不显示图片
& & 当快速滑动列表时(SCROLL_STATE_FLING),item中的图片或获取需要消耗资源的view,可以不显示出来;而处于其他两种状态(SCROLL_STATE_IDLE 和SCROLL_STATE_TOUCH_SCROLL),则将那些view显示出来
& & 3).复用convertView
& & 在getItemView中,判断convertView是否为空,如果不为空,可复用。如果couvertview中的view需要添加listerner,代码一定要在if(convertView==null){}之外。
& & 4).BaseAdapter避免内存溢出
& & 如果BaseAdapter的实体类有属性非常消耗内存,可以将保存到文件;为提高性能,可以进行缓存,并限制缓存大小。
& & 5.对于一个者来说,安卓开发中的提高安卓程序效率也是一项重要的内容,到底如何提高安卓程序效率,如何优化安卓的性能呢?以下本文就介绍了15种优化安卓的性能的小技巧,希望对广大的安卓开发者有所帮助!
& & 6.保证Cursor 占用的内存被及时的释放掉,而不是等待GC来处理。并且 Android明显是倾向于编 程者手动的将Cursor close掉;
& & 7.异步任务,分为核心任务和普通任务,只有核心任务中出现的系统级错误才会报错,异步任务的ui操作需要判断原activity是否处于激活状态;
& & 8.使用WeakReference代替强引用,弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。对于那些创建便宜但耗费大量内存的对象,即希望保持该对象,又要在应用程序需要时使用,同时希望GC必要时回收时,可以考虑使用弱引用。
& & 9.超级大胖子Bitmap及时的销毁(Activity的onDestroy时将bitmap回收,在被UI组件使用后马上进行回收会抛 RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap)设置一定的采样率(有开发者提供的图片无需进行采样,对于有用户上传或第三方的大小不可控图片,可进行采样减少图片所占的内存),从服务端返回图片,建议同时反馈图片的size巧妙的运用软引用drawable对应resid的资源,bitmap对应其他资源任何类型的图片,如果获取不到(例如文件不存在,或者读取文件时跑OutOfMemory异常),应该有对应的默认图片(默认图片放在在apk中,通过resid获取);
& & 10.Drawable中ui组件需要用到的图片是apk包自带的,那么一律用setImageResource或者setBackgroundResource,而不要根据resourceid
& & 注意:get(getResources(), R.drawable.btn_achievement_normal)该方法通过resid转换为drawable,需要考虑回收的问题,如果drawable是对象私有对象,在对象销毁前是肯定不会释放内存的。
& & 11.复用、回收Activity对象临时的activity及时finish主界面设置为singleTask一般界面设置为singleTop。
& & 12.在onResume时设置该界面的电源管理,在onPause时取消设置。
& & 13.应用开发中自定义View的时候,交互部分,千万不要写成线程不断刷新界面显示,而是根据TouchListener事件主动触发界面的更新。
& & 14.如果ImageView的图片是来自网络,进行异步加载。
& & 15.位置信息获取用户的地理位置信息时,在需要获取数据的时候打开GPS,之后及时关闭掉
相关热词搜索:
延伸阅读:
分享战地日记:
最新PHP视频教程下载
李超 && 兄弟连创始人
70后,做过铁路工人、JAVA程序员、技术支持、IT讲师、还干过几天管理,...
高洛峰 && 云课堂创始人
花季青年,喜欢开发,更爱讲课,当过小兵,做过领导,愿意分享,敢于高...
李明 && 兄弟连副总裁
70后北漂老男孩,做过程序员,干过运维,跑过市场,当过讲师,LAMP兄弟...
张涛 && 北京PHP教学主管
北京校区PHP教学主管,有过七年项目开发与技术培训经验,最早搞过C\C++,...
丛浩 && 兄弟连高级讲师
虽半老徐娘,但风韵犹存,不会德语、法语、阿拉伯语等世界各国语言,而...

我要回帖

 

随机推荐