Android 设计思想
2010-06-17 03:29:00 来源:WEB开发网进一步提高响应性
一般情况下,100到200毫秒是程序响应时间的阀值,超过了这个阀值使用者就会感到程序有延迟。因此,除了你需要避免产生ANR之外,还有几条建议能够使你的程序对用户的响应性更好。
如果你的程序在后台处理用户的输入,给出一个你正在工作的提示(ProgressBar(进度条)和ProgressDialog(进度对话框)是很好的选择)
如果是游戏,把计算步骤放在子线程中
如果你的程序在开始的时候要进行一系列的初始化活动,最好显示一个闪现窗体(splash screen)或者尽可能的先快速渲染主界面,然后再通过异步的方式填充里面的内容。无论用哪种方法,你都要标示出目前正在执行哪些过程,以免用户以为程序已经卡死了。
无缝
即便你的应用速度快并且响应及时,它还可能会惹恼用户。一个一般的例子就是在响应一些时间时弹出UI的背景进程(比如Android Service或者IntentReceiver)。这开起来好像无害,程序员通常认为他们花了大量的实际测试和使用自己的应用,感觉还不错。然而,Android应用模型是明确地为用户在不同进程中任意切换而构造的。这意味着,当你的背景进程弹出UI时,用户可能正在系统其他部分中,做着其他的事情——比如接电话。设想一下如果SMS服务每次收到一个消息时都弹出对话框,马上就会惹恼用户。这就是为什么Android标准对这种事件使用 Notification;这样就可以让用户来控制。
这只是一个例子,还有很多例子。例如,如果Activities没有在onPause()或其他方法中正确实现,就会经常导致数据丢失。或者,如果你的应用要把数据暴露给其他应用使用,你应该通过ContentProvider,而不是直接使用全局刻度的原始文件或者数据库。
这写例子的共同之处在于,它们都涉及与系统和其他应用的友好协作。Android系统涉及为将应用看作松散耦合的组件联盟,而不是一堆黑箱代码。这允许作为开发者的你把整个系统看作是更大的组件联盟。这可以允许你整洁、无缝地将你的应用于其他应用集成,并且作为这种好处的回报,你可以自己设计代码。
更多精彩
赞助商链接