此文出自指尖飞落的博客:http://blog.csdn.net/huntersnail
http://blog.sina.com.cn/s/blog_86d3fabb010193ke.html
http://www.2cto.com/kf/201605/512667.html
1、项目开发前,我们一定要全面了解项目中所有的界面需求,实现界面都需要用到哪些组件,比如现在的Android应用中特别流行圆形Icon、Listview上滑加载、下拉刷新、百度定位、各种分享、Listview动态加载网络图片等等所有的需求,在应用开发前,一定要设计好所有UI控件,保证后期项目开发的流畅性。
2、圆形图片建议大家使用universal-image-loader库,不要用CircularImage、RoundedImageView等自定义控件,因为这些自定义控件在加载分辨率特别小的图片时,会出现黑边框,且为必现,此问题测试时会提出Bug,无法解决,如果后期才替换那将会导致很大的工作量。
3、全局注入异常处理类CrashHandler,在自己的Application中启动即可,此异常处理类非常有用,后期会出现一些莫名期妙的Bug,且为偶现,光靠测试很难发现导致Bug的原因,有些异常处理类记录日志,会极大的节省我们查找Bug原因的时间,因为日志是时时记录的,只有出现Bug,就会有日志记录,非常方便。
4、所有网络请求要全部由一个方法执行,用回调接口实现返回的数据处理,请求前对网络状态进行判断,若无网络,则直接返回,这样可以大大减少应用的耗电量,顺便说一句,应用当中的耗电最多的是连网、GPS、各种传感器,大家在空暇之余可以对这几点进行检查,来提高我们APP的性能。
5、一些特别重要的全局变量要保存在自己的Application中,当应用出现闪退时,Constants常量类的属性将可能会被回收,如果继续访问的话,取到的值可能为空,而Application中即使出现闪退,变量也不会被回收。
6、一些可以通用的UI、操作、数据处理放在BaseActivity中,这样可以非常方便的管理,而且可以减少代码量。
7、开发前,要尽可能大的考虑到本地的缓存机制的使用,使用好缓存,对提升我们APP的性能有非常大的帮助,但是这一点要提醒一下大家,是在使用好的前提下,如果使用不好,那么会导致特别多的问题,请大家谨慎。
8、项目整体框架尽量用现有的,因为市场上现在的框架是前人总结好的,且经过很多改进,非常方便,功能也非常强大,在这里给大爱推荐一些比如XUtils、KJLibrary、Volley、SYNC-Http、Afinal、thinkAndroid,其中着重给大家推荐Xutils和KJLibrary,因为这两款框架中集成了特别多的功能,有网络请求、图片处理、数据库存储等等,非常好用。
9、注意自己APP布局优化,这些就是提升我们APP性能的细节方面了,因为Davlik在加载应用时,解析XML也是需要时间的,优化XML布局,将节省更多时间
开发流程:需求、设计、评审、编码、测试。
项目阶段描述
2.1 项目需求分析阶段描述
输入:《项目产品开发计划书》《总体方案书》
输出:《项目产品需求规格说明书》《产品测试计划及裁减说明书》
2.2 项目设计施阶段
输入:《项目产品需求规格说明书》《产品测试计划及裁减说明书》
输出: 《产品概要设计说明书》 《系统测试方案》 《集成测试方案》
2.3 项目实施阶段
输入: 《项目产品需求规格说明书》 《产品概要设计说明书》 待更新的《系统测试方案》 待更新的《集成测试方案》
输出: 《产品详细设计说明书》 更新的《系统测试方案》 更新的《集成测试方案》
2.4 项目测试阶段
输入: 《项目产品需求规格说明书》 《产品详细设计说明书》 《系统测试方案》 《集成测试方案》 《产品单元测试记录》
输出: 《系统测试缺陷记录》 《产品单元测试报告》 《集成测试报告》 《系统测试报告》
2.5 项目验收阶段
输入: 《项目产品需求规格说明书》 《产品详细设计说明书》 《系统测试缺陷记录》 《产品单元测试报告》 《集成测试报告》 《系统测试报告》
输出: 《项目总结报告》 《项目中无法满足功能项说明书》 《维护方案》
android开发流程
一 应用规划:
二 架构设计:
三 界面设计:
四 数据操作和存储:
五 业务实现:
六 页面跳转: