什么是 ANR

在 Android 上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示
ANR 给用户。不同的组件发生 ANR 的时间不一样,主线程(Activity、Service)是 5 秒,BroadCastReceiver 是 10 秒。

解决方案:

将所有耗时操作,比如访问网络,Socket 通信,查询大量 SQL 语句,复杂逻辑计算等都放在子线程中去,然后通过 handler.sendMessage、runonUITread、AsyncTask 等方式更新 UI。无论如何都要确保用户界面操作的流畅度。如果耗时操作需要让用户等待,那么可以在界面上显示进度条。

更多相关文章

  1. Drozer 官方使用指南(英文版和中文版)下载
  2. 浅谈Android(安卓)Broadcast
  3. android 7种对话框的使用
  4. Android(安卓)应用进程启动过程
  5. 谨慎使用第三方软件!安卓新型恶意软件,可窃取用户银行密码与电子钱
  6. ActivityManagerService解读之进程管理computeOomAdjLocked方法
  7. Android设置选项开发及自定义Preference样式
  8. Android开发人员得让短信应用程序准备好迎接巧克力棒
  9. Android之不一样的AlertDialog

随机推荐

  1. Android(安卓)SDK Manager下载,解决方案
  2. Android之自定义Dialog屏幕旋转时自动关
  3. Android第一行代码学习笔记Chapter1&2
  4. Android组件 子菜单(SubMenu)
  5. Android新特性之RecyclerView的简单使用
  6. Android开发指南(33) —— Multimedia an
  7. Android 4.0 虚拟按键、手机模式、平板模
  8. android日常问题及解决方案
  9. Android release 签名大包出错
  10. Android启动模式之singleinstance的坑