【问题标题】:Android.Views.InflateException: <Timeout exceeded getting exception details>Android.Views.InflateException: <超时获取异常详细信息>
【发布时间】:2019-05-31 21:22:22
【问题描述】:

我正在测试一个示例应用程序,我得到了运行时异常:Android.Views.InflateException: &lt;Timeout exceeded getting exception details&gt; 在线

SetContentView(Resource.Layout.Main);

问题是Main.axml中的按钮:

<ImageButton
    android:id="@+id/playButton"
    android:layout_height="@dimen/playButton_size"
    android:layout_width="@dimen/playButton_size"
    android:src="@drawable/ic_play_circle_outline_dark_blue_48dp"
    android:layout_alignParentBottom="true"
    android:layout_centerInParent="true"
    android:background="@android:color/transparent"
    android:adjustViewBounds="true"
    android:scaleType="fitXY" />

如果我将上面的 @dimen/playButton_size 替换为来自 Resources\values-sw320dp\dimens.xml 的 64dp,则错误已解决。为什么?这是完整的dimens.xml:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <dimen name="playButton_size">64dp</dimen>
</resources>

【问题讨论】:

  • 您是否删除了objbin 文件夹,然后重建此项目?如果运行正常。我在我的项目中测试了你的代码,它可以正常运行,你能提供一个简单的演示来重现这个问题吗?
  • @LeonLu-MSFT 我从这里(github.com/jonashendrickx/rgrfm_xamarin) 克隆了它,同时为我自己的应用程序寻找使用媒体播放器的示例。我不担心修复代码,我只是对为什么在我编辑该行之前它不起作用感兴趣。
  • 我在我的电脑上测试,这个项目可以正常运行,imgur.com/a/SSG9tb1,你是用Hyper-V还是HAXM加速模拟器?根据您的错误信息和我的测试结果,我认为可能与编译器有关的问题太迟无法编译
  • @LeonLu 我使用 Hyper-V 但是奇怪的是,当我禁用 hyper-v 并重新启动以在运行在被黑 vmware 映像中运行的 mac 和 ios 上进行测试时,android 虚拟如果禁用 Hyper-v,虚拟机仍会启动 android 映像,这没有任何意义。我不知道怎么做。
  • Hyper-V是用来加速模拟器的,如果你禁用它,模拟器可以正常运行,我的意思是如果编译器第一次不能正常编译,你可以删除objbin 文件夹,然后让编译器完全构建这个项目。

标签: xamarin.android


【解决方案1】:

错误信息最常见的原因:

Android.Views.InflateException:获取异常详细信息时超时

是它试图渲染太大的东西,还是它试图应用的参数无法从更难发现的资源中编译出来。

删除 obj、bin 文件夹,执行清理,然后重新构建并再次尝试。对于看似短暂的问题,这通常是最佳选择。

还请记住,android 不会对图像执行任何类型的优化,它希望您这样做,因此如果它尝试加载超出分配给操作系统的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多