zoukankan      html  css  js  c++  java
  • ANR

    在 Android 中,活动管理器和窗口管理器这两个系统服务负责监视应用程序的响应。当出现下列情况时,Android 就会显示ANR 对话框了:
    对输入事件(如按键、触摸屏事件)的响应超过5秒
    意向接受器(intentReceiver)超过10秒钟仍未执行完毕

    Android 应用程序完全运行在一个独立的线程中(例如 main)。这就意味着,任何在主线程中运行的,需要消耗大量时间的操作都会引发 ANR。因此,任何运行在主线程中的方法,都要尽可能的只做少量的工作。特别是活动生命周期中的重要方法如 onCreate()和 onResume()等更应如此。潜在的比较耗时的操作(如访问网络和数据库;或者是开销很大的计算,比如改变位图的大小)需要在一个单独的子线程中完成(或者是使用异步请求,如数据库操作)。但这并不意味着主线程需要进入阻塞状态已等待子线程结束 -- 也不需要调用 Therad.wait()或者Thread.sleep()方法。

  • 相关阅读:
    数据操作-apply函数族
    11.盛水最多的容器
    canvas绘图
    Nodejs事件监听模块
    http性能测试
    源码解读
    nodejs的一些概念
    http知识补充
    querystring处理参数小利器
    url网址解析的好帮手
  • 原文地址:https://www.cnblogs.com/jiuqing/p/4138735.html
Copyright © 2011-2022 走看看