美文网首页面试题
Android面试题总结——Android部分

Android面试题总结——Android部分

作者: wayneinyz | 来源:发表于2017-09-11 22:37 被阅读9次

    ANR相关问题

    1. 什么是ANR?

    Application Not Responding : 应用程序无响应
    如果一个应用无法响应用户的输入,系统就会弹出一个 ANR 对话框。

    2. 什么导致了ANR?

    通常,如果应用无法响应用户的输入,系统就会发生 ANR。例如:

    • 应用在 UI 线程中被I/O 操作(通常是网络请求)阻塞
    • 应用在 UI 线程中存在耗时操作(如计算等)

    在 Android 系统中,应用的响应受到 Activity Manager 和 Window Manager 这两个系统服务的监控。一旦应用出现以下两种情况,系统就会弹出 ANR 对话框:

    • 应用在5秒内未响应用户的输入事件(如按键或触摸事件)
    • BroadcastReceiver 未在10秒内完成相关的执行

    3. 如何避免ANR?

    基本思路:在UI线程中,做的工作越少越好。耗时操作(如网络请求、数据库操作或计算密集型操作)应当在工作线程中完成。

    • 使用 AsyncTask

    相关文章

      网友评论

        本文标题:Android面试题总结——Android部分

        本文链接:https://www.haomeiwen.com/subject/ycefsxtx.html