【发布时间】:2019-04-29 08:06:37
【问题描述】:
我对 Xamarin Android 有疑问。
使用我的应用程序的几个 Android 用户在三星设备上遇到 ANR 错误,9/10。我尝试在我们的设备上复制该问题,但没有成功(Samsung S9 和 A3 2016)。
主页似乎可以正常工作;它使用 do while 语句,但我不认为是有影响的(见下面的代码)。 该错误发生在登录阶段,同时执行一些 http 请求。
首页动画:
private async Task AnimazioneTiles()
{
try
{
do
{
foreach (VMTileWelcome tile in tilesWelcome)
{
tileImage.Source = tile.ImageSource;
tileTitle.Text = tile.Title;
tileSubTitile.Text = tile.SubTitle;
await stackContenitoreTiles.FadeTo(1, 400, Easing.Linear);
await Task.Delay(5000);
await stackContenitoreTiles.FadeTo(0, 400, Easing.Linear);
await Task.Delay(500);
}
}
while (true);
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine($"Errore animazione! {ex}");
}
}
Http 请求:
HttpOperationResponse<t> result = await Task.Run(async () => await this.PostAsync<t>(endPoint, content));
ANR Google 控制台:
输入调度超时(等待发送非键事件,因为触摸的窗口尚未完成对 500.0 毫秒前传递给它的某些输入事件的处理。等待队列长度:14。等待队列头年龄:61840.6 毫秒。 )
md5b5fc6e3de8ade6adb016b96a6a1d3645.MainActivity
"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 obj=0x773c4e18 self=0x773eccba00
| sysTid=11111 nice=-10 cgrp=default sched=0/0 handle=0x774361cab0
| state=S schedstat=( 40042176353 355926648 12143 ) utm=3900 stm=104 core=4 HZ=100
| stack=0x7fd48ce000-0x7fd48d0000 stackSize=8MB
| held mutexes=
#00 pc 000000000001bf6c /system/lib64/libc.so (syscall+28)
#01 pc 00000000000e8890 /system/lib64/libart.so (_ZN3art17ConditionVariable16WaitHoldingLocksEPNS_6ThreadE+160)
#02 pc 000000000034aa64 /system/lib64/libart.so (_ZN3art3JNI23CallStaticObjectMethodAEP7_JNIEnvP7_jclassP10_jmethodIDP6jvalue+292)
#03 pc 000000000000b4d0 /data/app/it.tisviluppo.fpcu-1/lib/arm64/libmonodroid.so (java_interop_jnienv_call_static_object_method_a+40)
at md58432a647068b097f9637064b8985a5e0.NavigationPageRenderer.n_onAttachedToWindow (Native method)
at md58432a647068b097f9637064b8985a5e0.NavigationPageRenderer.onAttachedToWindow (NavigationPageRenderer.java:49)
at android.view.View.dispatchAttachedToWindow (View.java:16879)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3129)
at android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:3136)
at android.view.ViewGroup.addViewInner (ViewGroup.java:4675)
at android.view.ViewGroup.addView (ViewGroup.java:4477)
at android.view.ViewGroup.addView (ViewGroup.java:4417)
at android.view.ViewGroup.addView (ViewGroup.java:4390)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1425)
at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState (FragmentManager.java:1750)
at android.support.v4.app.FragmentManagerImpl.moveToState (FragmentManager.java:1819)
at android.support.v4.app.BackStackRecord.executeOps (BackStackRecord.java:797)
at android.support.v4.app.FragmentManagerImpl.executeOps (FragmentManager.java:2590)
at android.support.v4.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2377)
at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2332)
at android.support.v4.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:2239)
at android.support.v4.app.FragmentManagerImpl$1.run (FragmentManager.java:700)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6823)
at java.lang.reflect.Method.invoke! (Native method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1563)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1451)
有人对 xamarin 有同样的问题吗?
【问题讨论】:
-
这个问题有歧义,请加
StackTrace? -
我无法从 Google Play 控制台获取它,而且我无法在我的设备上复制它:((抱歉英语不好)
-
如果您的应用程序崩溃 Google Play 控制台拥有所有堆栈跟踪详细信息,老实说,没有它您注定要失败,您可能需要一个世纪来理解这个问题,如果您无法在调试时重现此问题,可能从商店下载应用程序,然后检查是否发生这种情况!
-
我已经从商店测试了发布版本
-
即使这样也适合你?
标签: android xamarin samsung-mobile android-anr-dialog