网站建设推荐网,在哪里可以学做饰品网站,flash网站源文件,python做网页界面出现类型#xff1a; 1、按键或触摸事件在规定事件内未响应。 2、BroadcastReceiver在特定时间内未完成处理。 3、小概率service在特定时间内为完成处理。 常见的超时引发的ANR Activity: onCreate(), onResume(), onDestroy(),
onKeyDown(), onClick()等#xff0c;超时时间…出现类型 1、按键或触摸事件在规定事件内未响应。 2、BroadcastReceiver在特定时间内未完成处理。 3、小概率service在特定时间内为完成处理。 常见的超时引发的ANR Activity: onCreate(), onResume(), onDestroy(),
onKeyDown(), onClick()等超时时间5sApplication: onCreate(), onTerminate()等超时时间5sService: onCreate(), onStart(), onDestroy()等超时时间20sBroadcastReceiveronReceiver()前台APP广播超时时间是10s后台App是60s AsyncTask: onPreExecute(), onProgressUpdate(), onPostExecute(), onCancel()等超时5s Mainthread handler: handleMessage(), post*(runnable r)等超时5s 导致原因 1、高耗时的操作如图像变换 2、磁盘读写数据库读写操作 3、大量的创建新对象 如何避免 1、UI线程尽量只做跟UI相关的工作 2、耗时的操作(比如数据库操作I/O连接网络或者别的有可能阻塞UI线程的操作)把它放在单独的线程处理 3、尽量用Handler来处理UIThread和别的Thread之间的交互 4、解决的逻辑 1使用AsyncTask 在doInBackground()方法中执行耗时操作 在onPostExecuted()更新UI 2使用Handler实现异步任务 在子线程中处理耗时操作 处理完成之后通过handler.sendMessage()传递处理结果 在handler的handleMessage()方法中更新UI 或者使用handler.post()方法将消息放到Looper中 捕获ANR异常信息 app在产生ANR异常后会将异常信息写入/data/anr/traces.txt文件我们可以通过收集用户的这个文件就可以来获取用户产生ANR的地方了。转载于:https://www.cnblogs.com/yl-saber/p/7196224.html