栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > Java面试题

什么是ANR如何避免它?(Android线程间的通信方式)

Java面试题 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

什么是ANR如何避免它?(Android线程间的通信方式)

ANR:Application Not Responding(应用程序无响应).当出现下列情况时,Android就会 显示ANR对话框了:对输入事件(如按键、触摸屏事件)的响应超过5秒 意向接受器 (intentReceiver)超过10秒钟仍未执行完毕 Android 应用程序完全运行在一个独立的线程中 (例如 main)。这就意味着,任何在主线程中运行的,需要消耗大量时间的操作都会引发 ANR。 解决方案有两种:
1)AsyncTask 异步任务中,doInBackground()和 onPostExecute(Result)两个方法非常重要 doInBackground() 这个方法运行在后台线程中,主要负责执行那些很耗时的操作,如移动护理 系统中的网络连接、解析 XML 等操作。该方法必须重载。
onPostExecute(Result) 这个方法也运行于UI线程,在doInBackground(Params…)方法执行后 调用,该方法用于处理后台任务执行后返回的结果。
2) 子 thread + handler

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/263669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号