应用程序的响应性

来源:互联网 发布:sql server truncate 编辑:程序博客网 时间:2024/04/28 09:08

在Android中,应用的响应性被活动管理器(ActivityManager)和窗口管理器(WindowManager(这两个系统服务所监视.当用户触发了输入事件(如键盘输入,点击按钮等),如果应用5秒内没有响应用户的输入事件,那么,Android会认为该应用无响应,便弹出ANR(ApplicationNo Response)对话框,如下图.         

                                                                         

在正常情况下,Android程序会在一条单线程里运行.如果Activity要处理一件比较耗时的工作,应该交给子线程完成,否侧会因为主线程被阻塞,后面的用户输入事件因没能在5秒内响应,导致应用出现ANR对话框.这也就是异步机制.

异步机制,有四种:

runnable

Thread

handler

AsyncTask