【问题标题】:SetContentView() Error: Android.Views.InflateExceptionSetContentView() 错误:Android.Views.InflateException
【发布时间】:2017-09-13 00:37:05
【问题描述】:

每当我进入我的新活动时,SetContentView() 方法在其 OnCreate() 方法中发生错误。

错误状态:Unhandled Exception: Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class <unknown> occurred

我查看了其他类似的问题和他们的答案,但是他们的解决方案对我不起作用。

我的布局 XML 代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:minWidth="25px"
    android:id="@+id/testing"
    android:minHeight="25px">
    <Toolbar
        android:minHeight="?android:attr/actionBarSize"
        android:background="?android:attr/colorPrimary"
        android:minWidth="25px"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/toolbar1">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/linearLayout1">
            <ImageView
                android:src="@drawable/arrow_left"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:id="@+id/playMusicBackBtn" />
            <TextView
                android:text="Song Title"
                android:layout_marginLeft="10dp"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:layout_gravity="center"
                android:id="@+id/nowPlayingSongTitle" />
            <Space
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:layout_weight="1"
                android:id="@+id/space1" />
            <ImageView
                android:src="@drawable/settings_icon"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:id="@+id/playMusicSetting" />
        </LinearLayout>
    </Toolbar>
<!--Song Image-->
    <ImageView
        android:src="@android:drawable/ic_menu_gallery"
        android:layout_width="match_parent"
        android:layout_height="250dp"
        android:id="@+id/songImage"
        android:layout_margin="25dp" />
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout3">
        <TextView
            android:text="Song Title - Song Artist"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:gravity="center"
            android:layout_marginLeft="15dp"
            android:layout_gravity="center"
            android:layout_height="match_parent"
            android:id="@+id/songTitleDisplay" />
        <Space
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/space1" />
        <ImageView
            android:src="@drawable/favorite_off"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:id="@+id/addFavoriteBtn"
            android:layout_marginRight="20dp" />
    </LinearLayout>
<!--Interactive Buttons that deal with the Media player-->
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/linearLayout2"
        android:weightSum="4">
        <ImageView
            android:layout_marginLeft="20dp"
            android:src="@drawable/shuffle_off"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:id="@+id/shuffleBtn" />
        <Space
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/space1" />
        <ImageView
            android:src="@drawable/play_prev"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:id="@+id/playPrevBtn" />
        <Space
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/space1" />
        <ImageView
            android:src="@drawable/play"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:id="@+id/playPauseBtn" />
        <Space
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/space1" />
        <ImageView
            android:src="@drawable/play_next"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:id="@+id/playNextBtn" />
        <Space
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:id="@+id/space1" />
        <ImageView
            android:src="@drawable/repeat_off"
            android:layout_width="55dp"
            android:layout_height="55dp"
            android:layout_marginRight="20dp"
            android:id="@+id/repeatBtn" />
    </LinearLayout>
    <SeekBar
        android:layout_width="match_parent"
        android:layout_margin="5dp"
        android:layout_height="wrap_content"
        android:id="@+id/musicSeekerBar" />
    <TextView
        android:text="Current - Max"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_marginTop="5dp"
        android:id="@+id/musicDuration" />
</LinearLayout>

问题主要发生在我添加了 seekerbar 和 textview 之后(在 XML 的底部)。

Logcat(事件发生前几行):

    09-13 09:09:28.332 I/art     ( 4650): Clamp target GC heap from 283MB to 256MB
09-13 09:09:28.332 I/art     ( 4650): Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 251MB/256MB, paused 597us total 35.921ms
09-13 09:09:28.332 I/art     ( 4650): Forcing collection of SoftReferences for 13MB allocation
09-13 09:09:28.332 I/art     ( 4650): Starting a blocking GC Alloc
09-13 09:09:28.365 I/art     ( 4650): Clamp target GC heap from 283MB to 256MB
09-13 09:09:28.365 I/art     ( 4650): Alloc concurrent mark sweep GC freed 3(72B) AllocSpace objects, 0(0B) LOS objects, 1% free, 251MB/256MB, paused 500us total 32.744ms
09-13 09:09:28.365 W/art     ( 4650): Throwing OutOfMemoryError "Failed to allocate a 14107548 byte allocation with 4666448 free bytes and 4MB until OOM"
09-13 09:09:28.366 D/skia    ( 4650): --- allocation failed for scaled bitmap
Unhandled Exception:

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class <unknown>

另外,我使用 Visual Studio 2017 作为我的 IDE。

【问题讨论】:

  • 分享你的日志猫
  • 添加完整的logcat
  • 您的 imageview 源文件的 MB 太大。
  • 它与您的守护程序无法缩放和转换的图像有关,并且发生系统内存泄漏。

标签: android xml visual-studio xamarin xamarin.android


【解决方案1】:

它与您的守护程序无法缩放和转换的图像有关,并且会发生系统内存泄漏。

尝试减小所有可绘制对象和图像源的大小。这将解决内存不足的问题。

【讨论】:

  • 希望有所帮助:)
  • 这很有帮助,我周围还有一些 Bitmap 对象也占用了很大的空间,我将其删除了。
  • 很高兴知道:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多