Android 仅当使用“ANR”时;设置可见性“;

Android 仅当使用“ANR”时;设置可见性“;,android,webview,progress-bar,freeze,android-anr-dialog,Android,Webview,Progress Bar,Freeze,Android Anr Dialog,这是我的第一个android应用程序,我的代码有以下问题: 它是一个简单的Webview加载网页(谷歌),带有一个重载按钮和一个进度条 因此,在加载页面时,我检查onProgressChanged中的进度是否为100或低于100:如果为100,我使用以下选项隐藏进度: progressBar.setVisibility(View.GONE); 否则 HoWewer我的应用程序冻结,然后它会向我显示一条ANR消息。只要对这两行进行注释,一切都会正常工作(显然,在这种情况下,进度条不会隐藏) 例如

这是我的第一个android应用程序,我的代码有以下问题:

它是一个简单的Webview加载网页(谷歌),带有一个重载按钮和一个进度条

因此,在加载页面时,我检查onProgressChanged中的进度是否为100或低于100:如果为100,我使用以下选项隐藏进度:

progressBar.setVisibility(View.GONE);
否则

HoWewer我的应用程序冻结,然后它会向我显示一条ANR消息。只要对这两行进行注释,一切都会正常工作(显然,在这种情况下,进度条不会隐藏)

例如,如果我在if/else语句后面加上两个像“start”或“end”这样的祝酒词,它就不会崩溃

为什么只有setVisibility才会发生这种情况

还有两种状态的logcat日志(带或不带这些行)

11-20 12:01:13.979:W/ApplicationPackageManager(29061):getCSCPackageItemText()
11-20 12:01:13.979:I/PersonalManager(29061):GetPersonalService()名称persona_策略
11-20 12:01:14.019:V/WebViewChromium(29061):将铬绑定到背景活套活套(主,tid 1){429e2bf8}
11-20 12:01:14.019:I/chromium(29061):[INFO:library\u loader\u hooks.cc(112)]已启用chromium日志记录:级别=0,默认详细度=0
11-20 12:01:14.019:I/BrowserProcessMain(29061):初始化铬进程,渲染器=0
11-20 12:01:14.029:W/chromium(29061):[警告:proxy_service.cc(888)]PAC支持已禁用,因为没有系统实现
11-20 12:01:14.039:W/ApplicationPackageManager(29061):getCSCPackageItemText()
11-20 12:01:14.039:I/Adreno EGL(29061)::EGL 1.4高通公司构建:()
11-20 12:01:14.039:I/Adreno EGL(29061):OpenGL ES着色器编译器版本:E031.24.00.08+13
11-20 12:01:14.039:I/Adreno EGL(29061):建造日期:2014年3月28日星期五
11-20 12:01:14.039:I/Adreno EGL(29061):本地分支:0328_AU200_补丁
11-20 12:01:14.039:I/Adreno EGL(29061):远程分支:
11-20 12:01:14.039:I/Adreno EGL(29061):局部贴片:
11-20 12:01:14.039:I/Adreno EGL(29061):重建分支:
11-20 12:01:14.109:D/ProgressBar(29061):设置ProgressDrawableHeight=0
11-20 12:01:14.209:D/OpenGLRenderer(29061):启用调试模式0
11-20 12:01:14.219:D/ProgressBar(29061):updateDrawableBounds:left=0
11-20 12:01:14.219:D/ProgressBar(29061):updateDrawableBounds:top=0
11-20 12:01:14.219:D/ProgressBar(29061):updateDrawableBounds:right=1080
11-20 12:01:14.219:D/ProgressBar(29061):updateDrawableBounds:bottom=30
11-20 12:01:14.219:D/ProgressBar(29061):updateDrawableBounds:mProgressDrawable.setBounds()
11-20 12:01:14.229:W/AwContents(29061):nativeOnDraw失败;清除为背景色。
11-20 12:01:14.279:W/AwContents(29061):nativeOnDraw失败;清除为背景色。
11-20 12:01:14.339:I/chromium(29061):[INFO:async_pixel_transfer_manager_android.cc(56)]不支持异步像素传输
11-20 12:01:14.379:I/chromium(29061):[INFO:async_pixel_transfer_manager_android.cc(56)]不支持异步像素传输

您确定它是ANR吗?但无论如何,首先要删除所有其他内容。。。然后将set visible放在按钮点击的内部(如果在布局中不可见,则放在loadUrl之前),这样它只能运行一次…@Selvin nope,它会一直冻结。很长一段时间后,它向我显示ANR消息(此->)
progressBar.setVisibility(View.GONE);
progressBar.setVisibility(View.VISIBLE);
11-20 12:01:13.979: W/ApplicationPackageManager(29061): getCSCPackageItemText()
11-20 12:01:13.979: I/PersonaManager(29061): getPersonaService() name persona_policy
11-20 12:01:14.019: V/WebViewChromium(29061): Binding Chromium to the background looper Looper (main, tid 1) {429e2bf8}
11-20 12:01:14.019: I/chromium(29061): [INFO:library_loader_hooks.cc(112)] Chromium logging enabled: level = 0, default verbosity = 0
11-20 12:01:14.019: I/BrowserProcessMain(29061): Initializing chromium process, renderers=0
11-20 12:01:14.029: W/chromium(29061): [WARNING:proxy_service.cc(888)] PAC support disabled because there is no system implementation
11-20 12:01:14.039: W/ApplicationPackageManager(29061): getCSCPackageItemText()
11-20 12:01:14.039: I/Adreno-EGL(29061): <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build:  ()
11-20 12:01:14.039: I/Adreno-EGL(29061): OpenGL ES Shader Compiler Version: E031.24.00.08+13
11-20 12:01:14.039: I/Adreno-EGL(29061): Build Date: 03/28/14 Fri
11-20 12:01:14.039: I/Adreno-EGL(29061): Local Branch: 0328_AU200_patches
11-20 12:01:14.039: I/Adreno-EGL(29061): Remote Branch: 
11-20 12:01:14.039: I/Adreno-EGL(29061): Local Patches: 
11-20 12:01:14.039: I/Adreno-EGL(29061): Reconstruct Branch: 
11-20 12:01:14.109: D/ProgressBar(29061): setProgressDrawable drawableHeight = 0
11-20 12:01:14.209: D/OpenGLRenderer(29061): Enabling debug mode 0
11-20 12:01:14.219: D/ProgressBar(29061): updateDrawableBounds: left = 0
11-20 12:01:14.219: D/ProgressBar(29061): updateDrawableBounds: top = 0
11-20 12:01:14.219: D/ProgressBar(29061): updateDrawableBounds: right = 1080
11-20 12:01:14.219: D/ProgressBar(29061): updateDrawableBounds: bottom = 30
11-20 12:01:14.219: D/ProgressBar(29061): updateDrawableBounds: mProgressDrawable.setBounds()
11-20 12:01:14.229: W/AwContents(29061): nativeOnDraw failed; clearing to background color.
11-20 12:01:14.279: W/AwContents(29061): nativeOnDraw failed; clearing to background color.
11-20 12:01:14.339: I/chromium(29061): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported
11-20 12:01:14.379: I/chromium(29061): [INFO:async_pixel_transfer_manager_android.cc(56)] Async pixel transfers not supported