
媒介
对于大年夜多半安闲学生来说,这个暑假是人生最后一个暑假。对于IT专业的学生来说,开学后就要面对各大年夜IT企业的秋招,很多人会成为大年夜0开端的Android练习生。在Android初学之路上,每个Android练习生都邑碰到各种各样的瓶颈。
克服瓶颈要大年夜克服本身对一切瓶颈的成见做起,把回避瓶颈的行动变成享受瓶颈带来的乐趣的过程。要知道贺力比国产啤酒贵很多多少的一条重要原因就在于喜力的瓶颈:你如今去买一瓶玻璃瓶装喜力,用手握住瓶颈,大年夜拇指按住那颗星,然后用你最熟悉的动作撸瓶颈,你会爱好这种手感的。
不合App之间以及同一个App的不合过程之间须要多过程通信,多过程通信在视频播放等占用大年夜量资本的场合是很有须要的。过程间通信的初学者百度“多过程”会被AIDL绕得云里雾里,其实你只要尝尝Messenger框架,一切过程间通信的难题都邑水到渠成。
Android构造和屏幕适配
Android初学者碰到的第一个瓶颈就是Android 构造的编写。起首Android的layout是用XML写的,而大年夜多半大年夜学生在大年夜学阶段进修网页制造,都是用HTML绘制根本控件,然后用CSS进行页面美化;而Android却竽暌姑XML绘制界面,style也是用XML写。进修XML最重要的熟能生巧,多演习演习就顺手了,别的XML和HTML有很多类似的处所,比如padding与margin的差别都是一样的。
此外Android体系碎片化严重,不合型号的手机有着不合的屏幕尺寸和不合的分辨率。为懂得决这个问题,我们可以把背景贴图做成.9png格局,并且用内容和padding撑起控件。如不雅须要适配的机型实袈溱太极端,我们可以百分比构造解决这个问题——PercentRelativeLayout和PercentFrameLayout等。
不合组件的生命周期
Android初学者碰到的第二个瓶颈就是生命周期,Android的生命周期重要有Activity生命周期、Fragment生命周期、Service生命周期三种。学不好Activity的生命周期,你做不好界面跳转的特效,也做不好体系Activity(相机等)的回调;学不好Fragment的生命周期,你写不出惰性加载;学不好Service的生命周期,你连后台运行都做不到。进修惯命周期,要记住“文无图时少直不雅,图无文时难入微”,用图表帮助记忆。
收集要乞降json解析
为了冲破这个瓶颈,初学者应当先选择合适的框架以尽快解决练习工作中的问题。常用的收集请求框架有Volley和OKHttp等;常见的json解析框架有Gson和Jackson等,如不雅你的求职目标是阿里巴巴集团,进修一下FastJson是可以助你一臂之力的;此外还有把收集要乞降json解析整合到一路的Retrofit。
Android是移动互联网的重要构成部分,收集要乞降Json解析是Android进修中的重要环节,很多初学者会在此处遭受瓶颈。
图片加载和内存优化
Android机的价位一般比iPhone低得多,所以Android体系比iOS体系更轻易碰到内存溢出问题(OutOfMemoryError,简称:OOM),这也是初学者常见的进修瓶颈之一。OOM最多发于图片,其次构造中嵌入的地图、视频等吃内存大年夜户也是OOM的祸首祸首之一。
解决加载图片的OOM应当先选择Picasso、Glide、Fresco等框架以尽快解决工作中的问题,然后应用小我时光进修Android缓存机制——LruCache和DiskLruCache;地图、视频的OOM应当在界面被收受接收时清除控件、停止办事;其他的OOM应当用弱引用和软引用解决。
RecyclerView
练习生初入企业,要记住用工作时光解决工作中的问题,常识的摸索和才能的晋升要应用本身的业余时光。下班后要进修以上框架的源码和实现道理,比如Android的收集请求必须在子线程中进行,不然会造成NetworkOnMainThreadException;如今的收集请求都是基于HttpURLConnection的,任何大年夜谈HttpClient的材料都是过时的;还要弄清跋扈Handler的道理、ThreadPool的道理、AsyncTask的道理等;json解析方面的常识还有JSONObject和JSONArray的差别、Java的泛型机制、Java的反射机制等等。
Android最常用也是最复杂的控件是RecyclerView(2014及以前的材料是ListView),因为滑动冲突、列表中数据修改等问题都邑在RecyclerView中表现。为了克服这些瓶颈,必须要搞清跋扈RecyclerView.Adapter(也包含以前的BaseAdapter)的工作道理,ViewHolder的工作道理,以及ViewGroup的事宜分发机制等内容,这些内容不下大年夜力量进修是不克不及完全控制的。
克服了以上瓶颈后,估计练习生也该到了卒业转正的时光了,进阶路上还有新的瓶颈。新瓶颈有新的弄法:这种弄法须要双手操作,如不雅用另一只手按住打开着的瓶口撸瓶颈,你可以一边撸一边使劲摇,玩HIGH的时刻忽然松开按住瓶口的手。
自定义控件
Android自带的控件不克不及知足太复杂的界面控件需求,是以绘制自定义控件也是Android工程师的必备技能。绘制自定义控件须要控制View的几个常见办法的重写,如onDraw()、onMeasure()、onLayout()等;对事宜分发机制的懂得也应当比RecyclerView更精熟;此外还须要控制Canvas和Animator的相干常识,Android的Canvas和HTML5的Canvas有很多类似性,可以以此冲破Canvas的进修瓶颈。
过程间通信
Android机能周全优化和crash分析
Android初学者会碰到的最后一个瓶颈是Android机能周全优化。前面提到的Android内存优化是Android机能优化中最重要的部分,但也执偾一小部分,Android机能优化还包含安装包体量优化、GUI绘制优化、电量和流量优化等。
GUI方面可以应用ViewStub和去掉落其他不须要的背景来避免OverDraw;安装包体积可以悠揭捉?缩图片、去除反复且无用的依附等方法进行优化;电量和流量可以经由过程用推送代替轮询、用GZIP文件格局下载过长的数据流等方法进行优化。
推荐阅读
【技巧沙龙】AI开辟者拭魅战营-7分钟打造1个定制技能。7月22号,我们等你一路! 1、设置异常断抱病运行设置异常断点.png解释:设置Xcode异常断点后运行法度榜样,产生Crash时,断点会定位>>>详细阅读
地址:http://www.17bianji.com/lsqh/36348.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示