我需要从Activity和BroadCastReceiver重现应用程序无响应(ANR)对话框。我尝试创建一个简单的按钮点击:publicvoidmakeANRClick(Viewview){while(true);}使用此代码,我使用android2.3.7在模拟器上重现了ANR。相同的代码在使用最新android版本(4+)的真实设备上不起作用。另一种尝试如下:publicvoidonMakeANRClick(Viewview){try{Thread.sleep(15000);}catch(InterruptedExceptione){e.printStackTrace();}}这
如果我从一个正在运行的Activity开始一个新的Activity,我会一直收到ANRs有时有一个SurfaceView。有谁知道这个锁是干什么用的?我使用安卓支持包要使用fragment,我的表面View在fragment中。-----pid5281at2012-04-0510:59:42-----Cmdline:com.customlbs.androidDALVIKTHREADS:(mutexes:tll=0tsl=0tscl=0ghl=0hwl=0hwll=0)"main"prio=5tid=1WAIT|group="main"sCount=1dsCount=0obj=0x400
我在Android5.1中使用MediaRecorder和MediaProjection函数启动了一个重新记录屏幕的服务,我认为代码方法1会导致应用程序无响应错误,因为它在主线程中工作。我测试代码方法1重新编码屏幕很长时间,它没有出现“应用程序无响应错误”,为什么?这是否意味着函数MediaRecorder和MediaProjection在单独的线程中工作?在代码方法2中,我创建了一个线程来运行mRecordHelper.StartRecord(mRecordArg,resultCode,mIntent);但我收到错误java.lang.RuntimeException:Can'tcr
我是android世界的新手。我已经申请了用户注册。它工作正常。但是当我尝试将微调器添加到我的Activity文件时,它在avd中显示错误,例如,TheApplicationRegistration(Processcom.students)hasstoppedunexpectedly.pleasetryagain来了。我的日志猫显示错误"11-1210:42:06.816:E/dalvikvm(313):Unabletoopenstacktracefile'/data/anr/traces.txt':Permissiondenied"这个错误究竟是什么?我怎样才能摆脱它?
当我尝试使用GoogleAnalytics时,我在尝试使用User-Id时遇到了问题:publicclassMyApplicationextendsApplication{publicstaticGoogleAnalyticsanalytics;publicstaticTrackertracker;@OverridepublicvoidonCreate(){super.onCreate();DatabaseManager.initializeInstance(newDatabaseHandler(this));analytics=GoogleAnalytics.getInstance(
我编写了一个应用程序,它在Webviews中显示html页面,这些页面在ViewPager中进行管理。一切正常,但从一页滑动到另一页时我遇到了一些ANR。ANR数据转储显示主线程已通过ThreadedRenderer.nSyncAndDrawFrame()进行调用,它调用了一个native方法,显然与渲染器线程通信,并等待该线程完成绘制View。由于这两个都在执行native代码,因此很难弄清楚发生了什么,但渲染器线程似乎从未向主线程发出恢复信号,因此导致了ANR。ANR报告之前的logcat中没有任何问题。有没有人对如何解决这个问题有建议?我假设对ThreadedRenderer.n
为了让用户在Android应用程序中登录Facebook,我尝试使用以下代码。用户登录后,应获取他们所有friend的位置。不幸的是,这段代码有时会导致ANR(如GooglePlay开发者控制台中所报告的那样),有时甚至无法正常工作。如果我在Facebook中删除应用程序(撤销权限),权限对话框将在下次启动Android应用程序时再次显示。但是,如果该应用程序已经拥有权限,它会导致这些ANR或只是没有成功地退出。似乎部分工作正常,部分错误,不是吗?以下代码是登录和获取数据的正确方法吗?packagecom.my.application;importjava.util.Arrays;im
我在某些手机上收到如下错误日志:原因:输入调度超时(等待发送非键事件,因为触摸窗口尚未完成处理超过500.0毫秒前传递给它的某些输入事件。等待队列长度:20。等待队列头年龄:5509.1女士)我正在使用Retrofit2进行网络调用,其中我使用异步方法,使用数据库作为领域,我使用异步事务来编写内容。使用Glide加载图片。在使用严格模式时,我发现我得到的是共享首选项的惩罚日志。查看和调试问题的任何其他指针 最佳答案 任何类型的耗时过程,如通过网络同步数据,都不应该在主线程中进行。Android有一些默认的内置方法,如AsyncTas
我的Android应用最近在GooglePlay控制台中收到大量ANR报告。当我在应用程序中加入GoogleAnalytics时就开始出现这种情况,我强烈怀疑是GoogleAnalytics引起的。问题是我知道如何使用堆栈跟踪来调试崩溃。但我不确定如何调试ANR。我猜ANR意味着主线程在某处被阻塞。但是怎么知道它被阻塞在哪里呢?请参阅下面我最近收到的典型ANR之一。如何解释它并开始弄清楚应用挂起的位置?PS:由于使用了DexGuard代码混淆器,堆栈中的一些类/方法看起来很奇怪。ANR报告:DALVIKTHREADS:(mutexes:tll=0tsl=0tscl=0ghl=0hwl=
目录一、ANR是什么?二、ANR触发原因和场景ANR类型ANR原因ANR常见的场景三、ANR触发时系统做了啥四、看源码小结ANR输出重要进程的traces信息,这些进程包含:重要节点总结流程总结避免措施五、参考链接一、ANR是什么?ANR,ApplicationNotResponding,字面意思就是应用无响应,稍加解释就是用户的一些操作无法从应用中获取反馈。在实际的应用中应当去避免这种现象,虽然他暂时不会造成应用崩溃,但是却极大的损坏了用户体验。手机APP出现引用后一般系统会出现一个提示弹窗车机系统根据策略会直接闪退。无论是四大组件或者进程等只要发生ANR,最终都会调用AMS.appNotR