一、Android开辟 中编码规范性
精良 的代码规范是每一个开辟 职员 应该具备的根本 素养 ,以是 在Android开辟 中要养成的开辟 风俗 第一名非编码规范莫属 。精良 的编码规范包罗 以下一些方面:
1 、精良 的定名 规范:这包罗 类名、变量名、方法名、常量名 、布局 文件名、布局 文件中id名等等都要依照 精良 的定名 风俗 ,在定名 风俗 中必要 依照 的最紧张 一条为见名知意,简便 明白 。
2、源文件中以及布局 文件中只管 不要出现中文,中文以及其他阐明 性笔墨 资源应该放置到string.xml中 ,便于以后程序中对这些笔墨 举行 修改大概 国际化。
3 、将布局 中重复出现的样式提炼出通用的样式组件界说 在style.xml中
4、将图片分割为多个可重用的图片
5、服务器端可以实现的功能,那么就交给服务器端开辟 职员 完成,只管 不要在客户端完成 ,只管 镌汰 客户端的运算时间,进步 Android应用程序的运行服从 。
6 、克制 引入大量的不须要 的第三方应用,否则终极 导致打包后的apk过于巨大 。
7、处理 惩罚 布局 大概 应用程序运行过程中的错误大概 非常 信息 ,要以邮件情势 大概 日记 情势 提交给服务器端,以便日后对应用举行 维护和更新。
8、一个Activity中利用 同一个View.onClickListener()处理 惩罚 全部 的业务逻辑。
9 、假如 项目中多个Activity中包罗 多个共同的UI处理 惩罚 ,那么可以提炼以一个通用的Activity ,在这个通用的Activity中举行 这些UI处理 惩罚 。如有多个Activity在跳转时必须登录后才华 跳转到该Activity,那么查抄 登录与否的操纵 可以放在一个BaseActivity中,让其他Activity继承 该Activity就可以了。
10、数据肯定 要校验 ,如用户填写的日期时间数据、电话号码数据等。
二 、Android应用程序的性能优化
在开辟 时,开辟 职员 不但 仅要具备精良 的编码规范,更要知道app的实行 性与用户体验是密切相干 ,以是 关注app实行 性能优化 ,是Android开辟 职员 从程序计划 阶段就应该关注的,也是开辟 职员 应该养成的一个精良 风俗 。根据以往的履历 ,一个Android app的性能优化可以从以下几个方面入手:
1、http哀求 和相应 信息利用 gzip举行 压缩 ,设置毗连 超时时间和相应 超时时间,http哀求 按照业务需求,分为是否可以缓存和不可缓存 ,那么在无网络的环境 中,仍旧 通过缓存的http相应 结果 欣赏 部分 数据,实现离线阅读。
2、ListView的性能优化:ListView是Android开辟 中最常利用 的组件 ,这个组件的优化是开辟 中必要 留意 的最根本 的题目 。ListView的优化可以从三个方面举行 ,起首 要复用ContentView,在重写的getItemView方法中 ,判定 convertView是否为空,假如 不为空,可复用 。假如 couvertview中的view必要 添加listerner,代码肯定 要在if(convertView==null){}之外;
然后假如 Item包罗 的有图片 ,最好实现异步加载图片资源;末了 假如 实现快速滑动时不加载要表现 的图片资源,当快速滑动列表时(SCROLL_STATE_FLING),item中的图片或获取必要 斲丧 资源的view ,可以不表现 出来;而处于其他两种状态(SCROLL_STATE_IDLE和SCROLL_STATE_TOUCH_SCROLL),则将那些view表现 出来。
3、利用 线程池技能 :线程的重复创建和烧毁 也是影响app性能的关键点,那么通过线程池技能 可以有效 的提拔 线程重复创建和烧毁 对性能的影响。在app编程中可以设置核心 线程池和平凡 线程池 ,下载图片等耗时任务 放置在平凡 线程池,克制 耗时任务 壅闭 线程池后,导致全部 异步任务 都必须等待 。别的 线程也是造成内存泄漏 的一个紧张 的源头。线程产生内存泄漏 的重要 缘故起因 在于线程生命周期的不可控
4 、只管 克制 static成员变量引用资源淹灭 过多的实例,比如 Context。利用 WeakReference代替 强引用 ,弱引用可以让您保持对对象的引用,同时答应 GC在须要 时开释 对象,采取 内存。对于那些创建自制 但淹灭 大量内存的对象 ,即盼望 保持该对象,又要在应用程序必要 时利用 ,同时盼望 GC须要 时采取 时,可以思量 利用 弱引用 。
5、及时 的烧毁 (Activity的onDestroy时 ,将bitmap采取 ),在应用中bitmap是斲丧 性能最严峻 的对象,也是Android应用程序产生OOM的罪魁罪魁 ,肯定 留意 及时 采取 不再利用 的bitmap对象。
6、包管 Cursor占用的内存被及时 的开释 掉,而不是等待 GC来处理 惩罚 。而且 Android显着 是倾向于编程者手动的将Cursor close掉 。
7 、假如 ImageView的图片是来自网络,举行 异步加载;应用开辟 中自界说 View的时间 ,交互部分 ,千万 不要写成线程不绝 革新 界面表现 ,而是根据TouchListener变乱 主动 触发界面的更新。
三、Android应用程序的UI优化
1、.layout组件化 ,只管 利用 merge及include复用
2 、利用 styles,复用样式界说
3、软键盘的弹出控制,不要让其覆盖输入框
4、数字 、字母和汉字混排占位题目 :将数字和字母全角化。由于如今 大多数环境 下我们的输入都是半角 ,以是 字母和数字的占位无法确定,但是一旦全角化之后,数字、字母的占位就和一个汉字的占位雷同 了,如许 就可以克制 由于占位导致的排版题目 。
5、英文文档排版:textview主动 换行时要保持单词的完备 性 ,办理 方案是盘算 字符串长度,然后手动设定每一行表现 多少个字母并加上‘n‘
6 、复杂布局 利用 RelativeLayout
7、自顺应 屏幕,利用 dp更换 pix
8、利用 android:layout_weight大概 TableLayout制作中分 布局
9、利用 animation-list制作动画结果
四 、其他的一些Android开辟 发起
1、跟上期间 的步调 ,把Eclipse换成AndroidStudio,把SVN换成Git
2、勤做总结,保举 利用 各种条记 产物 如印象条记 ,把一些懂的履历 总结起来,把还不懂的文章挂内里 ,偶然 间就渐渐 消化;
3 、定期code review ,不绝 迭代,总会发现一些不公道 的代码,大概 必要 优化的地方。
4、关注一些着名 的技能 大V或网站 ,如ITeye大概 github,内里 很多 东西值得去消化。
5、取应用包名的时间 切忌取太轻易 重复的,假如 同款手机已经有该包名,那么会由于 署名 差别 而导致安装不上 ,这也怪中国安卓市场太多,无法像Google Play那样举行 包名考核 。
提拔 本领 ,从好学 习开始!
本文泉源 :https://android.whzrgj.com/news/3000.html
接洽 电话:400-680-9778
接洽 QQ:2993348707
QQ交换 群:114982018
微信公众号:china-wh/中软杰出 中西区
地点 :武汉市洪山区软件园路F3栋4楼
武汉市武昌区中北路31号知音广场3F
郑州市金水区花圃 路与农业路交错 口兰德中心 8楼
西安市高新区科技二路西安软件园零壹广场六楼