- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Play 商店开发者控制台中的用户报告应用程序有一段时间未使用后,我在应用程序重新启动时遇到了一个奇怪的黑屏问题,并出现了带有非常奇怪的堆栈跟踪的 ANR:
----- pid 2704 at 2013-08-15 09:08:32 -----
Cmd line: system_server
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0 hwl=0 hwll=0)
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x400281b8 self=0xd088
| sysTid=2704 nice=0 sched=0/0 cgrp=default handle=-1345006464
| schedstat=( 29713532638 35237133707 131286 )
at com.android.server.SystemServer.init1(Native Method)
at com.android.server.SystemServer.main(SystemServer.java:918)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(...)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
...
并且没有涉及应用程序代码的线程。我可以在我的一个测试设备上重现它,但它非常随机,并且需要很长时间才能遇到错误。但是,如果我能够在启动应用程序后立即在设备日志中收到以下消息:
I/ActivityManager( 2704): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.example.client.android/.ExampleMainActivity bnds=[125,494][235,632] } from pid 2908
W/ActivityManager( 2704): Receiver during timeout: BroadcastFilter{40b8b180 ReceiverList{40b8b108 32495 com.example.client.android/10107 remote:40b34b28}}
I/ActivityManager( 2704): Skipping duplicate ANR: ProcessRecord{40bfc8c0 32495:com.example.client.android/10107} Broadcast of Intent { act=android.intent.action.SCREEN_OFF flg=0x40000000 }
W/ActivityManager( 2704): Activity idle timeout for HistoryRecord{40578b78 com.example.client.android/.ExampleMainActivity}
我已经四处搜索并在 StackOverflow 上找到了以下关于这些消息的帖子:
Activity idle timeout for HistoryRecord?
Activity idle timeout for HistoryRecord
以及谷歌群组中的以下帖子:
https://groups.google.com/forum/?fromgroups#!topic/android-developers/TfkPlN5b-ig
我检查了服务,是否在 BroadcastReceivers
的 onReceive 中有任何重量级的东西,但没有找到任何东西。
我们使用 OnGlobalChangeLayoutListener
,它应用了 View.invalidate()
来解决 WebView
重绘问题,这可能会导致平局-循环。我删除了它,但仍然遇到问题。
有人可能遇到同样的问题并且知道如何解决或隔离它吗?我在这里几乎没有想法,很想了解这里发生了什么。
更新
我忘了提:如果这个黑屏问题发生了,让应用程序摆脱这个问题的唯一方法是强制停止应用程序进程。否则每次我尝试启动应用程序时都会记录日志行。
更新 2
按要求更详细地描述发生的情况:黑屏非常随机地出现。它总是在应用程序启动时发生,如果发生,只有强制停止才能使应用程序脱离此状态。它似乎只有在应用程序长时间未使用并且可能被换出内存后才会发生。看起来只有 Android 2.x 设备受到影响,尽管我不确定这一点。
更新 3
我添加了一个调用 android.os.Process.killProcess(Process.myPid());
的按钮,如果我一次又一次地调用它,我就能够在之后重现它有时,通过启动应用程序并使用按钮退出它。一段时间后(相当随机),我在使用按钮退出后得到了这个:
E/JavaBinder( 2704): !!! FAILED BINDER TRANSACTION !!!
接着是:
W/ActivityManager( 2704): Activity pause timeout for HistoryRecord{40976dd8 com.example.client.android/.ExampleMainActivity}
下次我重新启动应用程序时,我只会看到黑屏和上面提到的日志消息。我一直无法使用 android 4.1 设备重现相同的内容,只能使用两个 2.3 设备。
谷歌搜索我发现了这个:
http://androiddiscuss.com/1-android-discuss/42614.html
表明 Binder 事务缓冲区有些耗尽。我们使用使用绑定(bind)的 MediaPlayer、InApp-Billing 和 Google Cloud Messages。我删除了所有这些,但仍然遇到此错误。也许有人知道其他与隐藏的 Binder 相关的东西要检查?
最佳答案
我终于能够确定故障组件:我最近将使用的 Admob-SDK 从 6.2.1 更新到 6.4.1,并且黑屏(和 Java-Binder 消息)发生在更新之后。回滚到 6.2.1 解决了这个问题。
关于android - 重启后黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18252145/
我正在学习微处理器类(class),但我的代码有问题。 我需要编写一个程序代码,让一个词四处移动。 代码在 (80*25) 屏幕上正常工作(因为我的计算依赖于它) 但问题是:当我最大化显示屏幕时,一切
尝试使用 exoplayer v2.10.5 播放 m3u8 时变黑,这让我添加了或者我如何使用 exoplayer v2.10.5 和 gradle 3.5.3 播放 m3u 或者哪个版本的 exo
有几个现有的例子,但我想要一个使用 complex_filter 来实现目标的命令,而不需要做额外的事情,比如生成空白视频/音频文件。 环顾四周,这是迄今为止我想出的最好的: ffmpeg -i vi
服务是“允许服务与桌面交互”。 unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls,
我有一个显示youtube的本地ios应用程序,直到昨天该应用程序运行良好,但是现在该应用程序显示了youtube,只有当我触摸“播放”而不是播放视频时,它才显示黑屏。 我的应用程序没有更改,因此我认
我正在尝试向我的游戏添加一些基本的 HUD,但是当我尝试更改视角时,我可以看到文本(我之前提到过 HUD),但是在黑屏上。问题出在哪里? gl.glMatrixMode(GL_PROJ
我的转换不起作用,第一个 ImageView 显示了可绘制对象,但在运行动画时它只是以白屏结束。不确定我错过了什么。 主要布局 第二个 Activity 布局 主要 Activity pu
出于某种原因,当我尝试运行此代码时,我得到的只是黑屏。我怎样才能真正让它显示我想要显示的内容? 我正在使用 Eclipse,并且已将 lwjgl.jar 和 lwjgl_utils.jar 添加到构建
我正在遵循有关构建“弹出锁类型”游戏的教程,当我在模拟器中运行它时,会出现黑屏。我之前查过并尝试重置模拟器并重新启动计算机,但它不起作用有人可以帮助我并告诉我为什么会发生这种情况 import Spr
我正在尝试 MrSnakey 游戏。当我运行它时,它没有给我任何错误。但是,模拟器在启动时显示黑屏。你们不知道如何解决吗?解决此问题所需的有关我的项目的任何信息,请告诉我,我会在此处发布。 首先是 l
所以我遇到了相机卡住的问题。当它第一次被调用时,它工作得很好。并在按钮上显示我的图像。但是,如果我回到同一个按钮再次调用相机,或者调用相机的页面上的任何其他按钮,它会启动相机但不是黑屏。相机实际上并没
我几乎阅读了关于这个主题的所有帖子,但似乎没有一个有帮助。 我正在 try catch 当前屏幕的屏幕截图。为此,我正在使用 getDrawingCache。这是我的代码: mRootView.get
我已经用我命名为 Label 的类实现了 CCLabelProtocol 和 CRGBAProtocol: #import @interface Label : CCNode @property
晚上好。我为 iOS 开发了几年,自从 iOS8 发布以来,我遇到了一个奇怪的问题。我确信它会被修复,但现在是 8.1.2,而且它还在发生。在 iOS7 上一切正常,但在运行 iOS8 的手机上发生了
这是我的完整代码。当我右击几次(动画正常工作)时,屏幕卡住。我认为来自 if(SDL_GetTicks() - start_time format, 0, 0xFF, 0xFF ) );
我需要执行以下操作: 用户登录。 重定向至欢迎屏幕。 在加载大量记录时查看欢迎屏幕。 重定向到工作屏幕。 我正在寻找一种在 Action 类中执行类似操作的方法: public class LinkA
我在 KMZ 文件中有一个坐标数据集,我希望能够为用户提供使用 GMSPanoramaView(使用 1.6.0 版本的 Google-Maps-iOS-SDK)查看街景的选项).这是我的代码的样子:
在尝试将应用内 HTML 页面加载到我们的 UIWebView 时,我在 iOS9 上遇到了奇怪的行为 - 有时页面加载,有时只是显示为空白屏幕。 webViewDidFinishLoad 函数也在这
我试图显示我的收藏 View ,但我得到的只是黑屏。我知道我在某处遗漏了一些东西,但我似乎找不到它是什么。 #import "StoreCollectionViewController.h" #imp
我正在尝试从我们的 iOS 应用程序中删除所有 Storyboard,因为在使用 Git 的团队中工作时它们会变得一团糟。 我现在在 AppDelegate 的 application(_:didFi
我是一名优秀的程序员,十分优秀!