① 如何提高android开发效率
你好: 1.http用gzip压缩,设置连接超时时间和响应超时时间 http请求按照业务需求,分为是否可以缓存和不可缓存,那么在无网络的环境中,仍然通过缓存的httpresponse浏览部分数据,实现离线阅读。 2.使用线程池,分为核心线程池和普通线程池,下载图片等耗时任务放置在普通线程池,避免耗时任务阻塞线程池后,导致所有异步任务都必须等待 3.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的实体类有属性非常消耗内存,可以将保存到文件;为提高性能,可以进行缓存,并限制缓存大小。 4.尽量避免static成员变量引用资源耗费过多的实例,比如Context 5.异步任务,分为核心任务和普通任务,只有核心任务中出现的系统级错误才会报错,异步任务的ui操作需要判断原activity是否处于激活状态 6.保证Cursor 占用的内存被及时的释放掉,而不是等待GC来处理。并且 Android明显是倾向于编 程者手动的将Cursor close掉 7.线程也是造成内存泄露的一个重要的源头。线程产生内存泄露的主要原因在于线程 生命周期的不可控 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.如果ImageView的图片是来自网络,进行异步加载 13.应用开发中自定义View的时候,交互部分,千万不要写成线程不断刷新界面显示,而是根据TouchListener事件主动触发界面的更新 14.在onResume时设置该界面的电源管理,在onPause时取消设置 15.位置信息获取用户的地理位置信息时,在需要获取数据的时候打开GPS,之后及时关闭掉
② 如何提升安卓app开发的质量
1、开发之前,需要仔细的市场调查。
成熟的市场也不是没有好处,现在的手机APP开发与原来跑马圈地般的模式不同。经历了一定时期的移动互联网世界,开发者都知道什么APP更可能成功。对于开发者以及企业来说,仔细了解和研究安卓APP开发市场是他们必须做的功课。
2、进行安卓APP开发时,需要更多的创新元素和特色。
APP开发技术发展到现在,安卓手机APP开发技术也进步了不少,但是APP开发的同质化情况比较严重,影响了用户的体验质量。当用户觉得这款安卓软件没有特色的时候,在试用某款安卓APP软件随后就卸载掉。
因此,安卓APP开发应该要有自己的特色,这种特色为简单的办法是可以从丰富手机APP的内容中体现。足够丰富的内容配合讨人喜欢的UI设计,就可以成为占据安卓手机内存的理由。一般来说,高质量的安卓手机APP的用户粘度和存活率是很高的。
3、找准市场定位,注重产品质量与后期推广营销。
在2012年以前,一款好的APP软件可以凭借内容优势迅速走红。但随着应用数量的不断增加,APP开发产品本身的质量和推广营销是都显得十分重要。安卓APP开发工程师以及企业在进行APP开发之前,便要进行简要的推广规划。在APP上架应用市场后,要开始利用各种推广渠道进行有效的推广,根据市场的反馈及时做出相关工作的调整。
③ Android开发初期之后怎么提升怎么才能叫精通方向在哪
php 工程师 (PHP Programmar) 定义: 正在以PHP程序为主要工作,并正在进行新产品的研发.可以同时使用C+/perl等辅助提高PHP程序性能的人是PHP工程师. 描述: PHP工程师是. 特征: 1: 精通一种或多种linux. 2: 快速编写结构清晰,代码格式优美的PHP程序. 3: 能够进行框架级通用程序的研发. 4: 能够在程序开发初期就通过项目规划避免未来可能出现的性能瓶颈. 5: 能够使用框架/类库加速项目开发进度. 6: 有自己的代码库. 7: 能够胜任大部分服务器和部分服务器集群优化工作. 技术要求我就不说了.具体到PHP中级程序员之后,PHP程序员就开始选择发展方向进行分化了.能够到这一步的人,基本都对自己的职业规划有清晰的认识.目前国内此类人才奇少. 关于其他: 1 PHP程序员从中级程序员阶段就开始分化,具体方向根据公司性质,工作条件,自己的兴趣等不一而同.因此需要擅长的详细技能也不太相同. 例如: 公司使用 joomla 构建网站, 这就要求程序员必须精通joomla. 如果公司使用自研CMS+discuz构建网站,这就要求程序员能够熟练进行DISCUZ的二次开发.强行要求程序员精通这精通那,意义不大. 到高级程序员开始.PHP程序员由于自己的职业经历.肯定会有自己的专攻方向,有人擅长大负载下程序开发优化,有人擅长项目快速开发.而到这个阶段,如果PHP程序员还需要看这篇文章规划自己的职业生涯.那么请自己列出自己擅长的PHP技术.并选择一种最擅长的技术专攻. 2 关于coder和programmar. 字面上理解第一个是编码员,第二个是程序员.实际因为国内名词的混乱.第一个大多以程序员称呼,第二个目前大多处于项目核心领导层面.故本文暂以工程师称呼. coder 是进行少量创新的,大量重复工作的人. programmar 是进行新技术摸索开发,并实际领导/带领大中型项目开发的人. 3 关于 C++ . PHP初期的语法(php3/4时代)和C几乎一样.我当初就是看一下午PHP速成+php手册入的门.但到一定深度之后.有些PHP的特性需要实际阅读PHP源码才能理解(相关文档不全或者不好找到).有些实际项目功能使用C++开发远比PHP效率高.比如我现在做的项目需要爬虫持续海量抓取,当带宽足够的情况时,纯使用PHP实现效率不高.所以必须使用C++. 所以C++到需要用的时候自然而然的就要用了.不过如果有C/C++的基础,学习PHP要轻松很多. 4 关于面向对象.面向对象还是很帅的,小型工程上使用意义不大,大中型工程可以极大的提升开发效率.在php4的时代对面向对象基本没有什么要求,但是现在需要完整掌握面向对象. 5 关于java/Delphi 他们和php有关么? 我孤陋寡闻.请牛人指教.谢谢 6 关于软件工程. 软件工程是一个实际使用中才能学懂的学科.我才疏学浅,在大学的时候楞没学懂.等实际领导项目了.才慢慢的明白其中的含义与奥妙. 8 关于开发模式. 开发模式的好坏直接关系这项目开发的速度与项目的质量.初期死抠模式意义不大.建议有一定积累了再说. 9 关于名气. 嗯...怎么说呢?高端PHP圈子很小,也就那么些人.水平到了,自然就认识那些人了. 10 关于第三方库,初期学习掌握一些,比如smarty.到一定阶段需要决定到底是精通第三方库还是使用自行积累开发的库.总的来说,由于第三方库大多是外国人开发,所以国内想要时刻紧跟比较被动,phpBB中文的没落便是一例.如果使用自行积累开发的库,难度较大,要注意通用性和可扩展性. 11 关于英文. 这个是废话.最低要求是流畅阅读英文文档.
④ 如何成为一名Android开发高手
如何成为 android开发高手?先从自己身上着手,衡量自己是不是具备android相关专业知识,了解并精通该领域,是否掌握程序开发技术。
成为高手之路任重而道远,祝你成功。
⑤ 怎么提高android开发能力
多写、多看、多想。
多写:编码熟练度,有时候凭经验就能避免很多BUG出现。
多看:或许看别人代码是个痛苦的过程,但是很多人的编码习惯和方式值得参考。
多想:写程序不是按部就班,完成某个功能前理清相关逻辑,在写代码时也能有很好的思路。
⑥ Android 开发者,如何提升自己的
了解Framework层->了解android核心应用程序(短信、电话、相册等等)->学一个领域从应用到底层的知识、比如视频、 可以从应用层->jni->ffmpeg
学完这个再学linux内核->驱动开发->android系统移植->领域专题(wifi、GPS、NFC)
够你学的
⑦ 怎么才能提高android开发能力
单纯做一些简单的app维护,界面开发,需要的技术不会很多,大半年积累的技巧和知识可能已经够用。如果仅仅想停留在这一块,那么每天喝着咖啡,写着代码,悠然一天,很Easy的说。但是真正的程序员,都是应该从底层开始学习的,这就像函数式编程和面向对象编程的区别(现在的大学,一上来,面向对象,什么都没学会),没有体验编程的本质,而只是照猫画虎,只能成为二流的码农。高级语言带来便利性的同时制造了很多黑箱,一个JVM/DALVIN解决了多少内存管理的噩梦,但是一个java程序员如果要理解所写的代码,而不了解代码运行的容器,可能吧,深入的java程序员都愿意去看一下虚拟机的实现,会学到非常多的东西,当然这里不是硬要让你探究Dalvin虚拟机的实现,只是想说明底层学习的重要性。
但是Android提高的途径其实很多,能够把官方的文档仔仔细细读一遍(而非国内的Android开发速成教程),收获会很大。其次就是了解Android系统架构方面的东西,比如消息机制,内存管理,系统层次。多写多记录会是提高编程能力最有效的方法,不如在Github上开一个帐户,规定自己每周做一个有创意并且能用到自己想学习的技术,上传,分享,交流代码,如何?反正开源的力量就是强大,只要足够强,读完源码,就是高手/半高手了。
⑧ Android 开发者,如何提升自己的职场竞争力
(1)执行力,在职场中,执行力决定你在职场中可以不可以站稳脚跟,所以在职场上无论上司交给你怎样的工作,第一执行力一定要做到。
(2)学习能力,如果你是职场菜鸟,那么你就应该多学习职场知识,或者和工作相关的知识,并且深度记忆,这个是你在职场上的一项长期技能。
(3)观察力,在适当的时候,帮上司解围,是作为职场菜鸟的一个硬伤,但是怎样才能很好的巩固自己的职场就看你的观察力了。
(4)谈判能力,谈判能力是必备的一项,如果你是项目跟进的人,那么你的必须具备这项能力,这决定你的口袋哦。如果你是公司的文员助理类,拥有超高水准的谈判能力,可以为你带来丰厚的薪水。
(5)忍耐力,不论是面对老板还是客户,都要有一定的忍耐力,没有忍耐力的人在职场,会时不时的成为一颗定时炸弹。
⑨ 怎样才能高效学好Android开发
目前,安卓的很火,可能很多人想未来从事安卓开发方向的工作,却不知道该如何下手,又或者已经入了Android开发的门,却对未来的发展方向又不是太清楚,再加上目前市面上关于安卓的开发方面的资料非常多,过于杂乱,所以很多Android开发学习者不知道该怎么学习安卓的开发,缺乏一套明确的思路以及一套明确的岗位路线。
那么本篇文章,将解决这些问题。本篇文章将带领大家首先初步了解Android技术,然后对目前安卓的开发行业的现状进行简要的分析,随后为大家推荐Android技术学习的高效方法。在了解了Android的技术的学习方法之后,我们会为大家推荐Android技能的提升方向,并在众多的书籍之中推荐一些优秀的书籍,让大家可以把握重点去学习。最后我们会为大家分析Android开发工程师如何才能走向Android开发的高薪岗位,让更多的Android开发人员,可以少走弯路,有条不紊地进行Android的学习。
刚开始的时候,Android开发人员可以根据自身的天赋从1和2两类中选择其一进行,如果自己比较擅长u i设计,有设计方面的天赋,那么可以朝着Android UI设计工程师方向发展。
如果觉得自己更适合编写代码,那么可以朝着Android应用开发工程师方向发展。Android应用开发工程师招聘的要求不会太高,这只是进入行业的第一步,如果安卓的开发人员未来想进行大幅度的升职加薪,那么则需要更深入的研究安卓的开发的相关知识,此时,如果对框架设计比较感兴趣,那么可以朝着Framework工程师方向发展,如果对游戏设计比较感兴趣,那么可以朝着安卓的游戏开发工程师方向发展,在同等情况下,这两种岗位,会比安卓应用开发工程师岗位的薪资待遇要高。
当安卓的开发人员对安卓开发的知识掌握得比较深入之后,如果想要再进一步的提升,可以研究安卓底层方面的知识,比如朝着安卓底层工程师方向努力。安卓底层工程师相对来说技术难度更高,当然待遇也会较高。
相信大家有了这个岗位发展路线之后,对自己未来的方向会有更清晰的规划,在此也希望各位能够做出一番事业。
本文由韦玮老师原创,转载请注明出处!
⑩ 如何提升Android开发效率
笔者在经历了多个Android开发项目之后,个人积累也从别处学习了很多在Android开发中非常实用的小经验。下面从中选择了最实用的16条,分享给大家。
1.TextView中的getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的.所以如果直接用返回的值来设置会出错,解决办法是用setTextSize()的另外一种形式,可以指定单位:
1
2
3
4
<span style="font-size:16px;">setTextSize(int unit, int size)
TypedValue.COMPLEX_UNIT_PX : Pixels
TypedValue.COMPLEX_UNIT_SP : Scaled Pixels
TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels</span>
2.在继承自View时,绘制bitmap时,需要将图片放到新建的drawable-xdpi中,否则容易出现绘制大小发生改变。
3.在文字中加下划线: textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG)。
4.scrollView是继承自frameLayout,所以在使用LayoutParams时需要用frameLayout的。
5.在Android中几种网络编程的方式:
(1)针对TCP/IP的Socket、ServerSocket
(2)针对UDP的DatagramSocket、DatagramPackage。这里需要注意的是,考虑到Android设备通常是手持终端,IP都是随着上网进行分配的。不是固定的。因此开发也是有 一点与普通互联网应用有所差异的。
(3)针对直接URL的HttpURLConnection
(4)Google 集成了Apache HTTP客户端,可使用HTTP进行网络编程。针对HTTP,Google集成了Appache Http core和httpclient 4版本,因此特别注意Android不支持 httpclient 3.x系列,而且目前并不支持Multipart(MIME),需要自行添加httpmime.jar
(5)使用Web Service。Android可以通过开源包如jackson去支持Xmlrpc和Jsonrpc,另外也可以用Ksoap2去实现Webservice
(6) 直接使用WebView视图组件显示网页。基于WebView 进行开发,Google已经提供了一个基于chrome-lite的Web浏览器,直接就可以进行上网浏览网页。
6.TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
这个是我们最常用的一个构造方法,
float fromXDelta:这个参数表示动画开始的点离当前View X坐标上的差值;
float toXDelta, 这个参数表示动画结束的点离当前View X坐标上的差值;
float fromYDelta, 这个参数表示动画开始的点离当前View Y坐标上的差值;
float toYDelta)这个参数表示动画开始的点离当前View Y坐标上的差值;
如果view在A(x,y)点 那么动画就是从B点(x+fromXDelta, y+fromYDelta)点移动到C 点 (x+toXDelta,y+toYDelta)点。
7.android提供了几种在其他线程中访问UI线程的方法