保证鲁棒性要考虑的边界问题

来源:互联网 发布:招聘java工程师的要求 编辑:程序博客网 时间:2024/04/29 07:03

鲁棒性(健壮性,容错性):指当如下情况发生时依然具有正确的运行能力。

Android开发中需要考虑的边界问题:

1.非法数据输入:输入内容要判断是否合法,要过滤非法字符。并在UI层做相应的处理,反馈给用户相关错误。

2.软件和硬件故障:

   2.1:系统休眠:在比较耗时的操作中,必须要考虑系统休眠,导致CPU停止运转的问题。可以通过WakeLock处理。

   2.2:用户非法操作:在比较耗时的操作中,用户按下了BACK键或者HOME键离开了正在运行操作的界面,必须对这种情况进行考虑和处理,否则会引起FORCE CLOSE问题。BACK键可以考虑取消progressDialog对back事件的响应,而home键需要做特殊处理。

       在用户非法操作后,你要做响应的逻辑处理,例如当前正在进行备份上百条短信的操作,用户在备份过程中间取消了备份的操作,那你就要逆向考虑所有可回收的对象,例如删除写在SD卡上的备份文件,取消progressDialog的显示,停止备份线程的运行。



我们在开发一个feature的初期,必须对如上的一些边界问题,进行考虑。如果在初期开发中对于边界问题给予了比较充分的考虑,相信会在后期维护的时候轻松很多!!!!!。边界问题要考虑,也一定要做相应的处理。包括取消线程,结束Activity生命,删除备份文件。而这个对意外的处理,一定是你正常逻辑的相反顺序,恢复系统到进行该操作前的状态,对该操作产生的影响尽量回撤。