我正在测试一个示例应用程序,但遇到运行时异常:Android.Views.InflateException: <Timeout exceeded getting exception details>
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
的{{1}}替换为Resources\values-sw320dp\dimens.xml
的64dp,则错误已解决。为什么?这是完整的dimens.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<dimen name="playButton_size">64dp</dimen>
</resources>
答案 0 :(得分:0)
错误消息的最常见原因:
Android.Views.InflateException:超时超过了获取异常详细信息
是因为它试图渲染太大的东西,或者是它试图应用的参数无法从难以发现的资源中进行编译。
删除obj,bin文件夹,执行清理操作,然后重新生成并再次尝试。对于似乎有些短暂的问题,这通常是最佳选择。
还请记住,android不会对图像进行任何优化,它希望您执行此操作,因此,如果它试图加载超过分配给该对象的可用堆大小的图像,您还将获得膨胀异常。通过操作系统进行应用。