InflateException: Línea de archivo XML binario # 1: Error de inflar clase <unknown> causada por OutOfMemoryError

Eche un vistazo al siguiente código

Input.xml (carpeta de diseño)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:background="@drawable/background_main" > <ImageView android:id="@+id/logo_image" android:background="@drawable/background_green" android:src="@drawable/titleimage" android:layout_width="match_parent" android:layout_height="50dp" /> <ScrollView android:id="@+id/scroller" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/logo_image" android:layout_marginTop="10dp" > <TableLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:stretchColumns="*" > <TableRow android:id="@+id/device_type_row" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="5dp" android:paddingBottom="5dp" android:layout_marginRight="5dp" > <RadioButton android:id="@+id/device_type_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/device_type" /> <RadioGroup android:id="@+id/device_type_radio_selection" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/radioIos" android:layout_width="wrap_content" android:layout_height = "wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/iOS" /> <RadioButton android:id="@+id/radioAndroid" android:layout_width="wrap_content" android:layout_height = "wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/android" /> </RadioGroup> </TableRow> <TableRow android:id="@+id/days_as_customers_row" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="5dp" android:paddingBottom="5dp" android:layout_marginRight="5dp" > <RadioButton android:id="@+id/days_as_customers_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/days_as_customers" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/days_as_customer_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/days_as_customer_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1/210" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/average_sessions_row" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/average_sessions" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/average_sessions" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/average_sessions_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/average_sessions_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="240/9000" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/conversion_time_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/conversion_title" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/conversion_time_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/conversion_time_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3/55" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/monthly_spend_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/monthly_spend" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/monthly_spend_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/monthly_spend_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="3/55" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow6" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/virality_invites_sent_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/virality_invites_sent" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/virality_invites_sent_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/virality_invites_sent_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0-50" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> <TableRow android:id="@+id/tableRow7" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/churned_users_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/churned_users" /> <RadioGroup android:id="@+id/churned_users_radio_selection" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:id="@+id/radioYes" android:layout_width="wrap_content" android:layout_height = "wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/iOS" /> <RadioButton android:id="@+id/radioNo" android:layout_width="wrap_content" android:layout_height = "wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/android" /> </RadioGroup> </TableRow> <TableRow android:id="@+id/tableRow8" android:layout_width="wrap_content" android:layout_height="wrap_content" > <RadioButton android:id="@+id/ltv_total_spent_radio" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/ltv_total_spent" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:weightSum="2" > <SeekBar android:id="@+id/ltv_total_spent_seekbar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" /> <TextView android:id="@+id/ltv_total_spent_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0$-80$" android:layout_weight="1" android:singleLine="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </LinearLayout> </TableRow> </TableLayout> </ScrollView> <Button android:id="@+id/input_submit_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:background="@drawable/submit_button_img" /> </RelativeLayout> 

InputFragment.java

 import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.RadioButton; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.TextView; import android.widget.Toast; public class InputFragment extends Fragment { private Button submit; private RadioButton deviceTypeRadio, daysAsCustomerRadio, averageSessionsRadio, conversionTimeRadio; private RadioButton monthlySpendRadio,viralityInvitesSentRadio, churnedUsersRadio, LTVTotalSpentRadio; private SeekBar daysAsCustomerSeek, averageSessionSeek, conersionTimeSeek, monthlySpendSeek; private SeekBar viralityInvitesSeek, ltvTotalSpentSeek; private TextView daysasAsCustomerText, averageSessionText, conversionTimeText, monthlySpendText; private TextView viralityInvitesText, letvTotalText; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //Intializing instance variables View view = inflater.inflate(R.layout.input, container,false); submit = (Button)view.findViewById(R.id.input_submit_button); return view; } } 

Puedo funcionar correctamente este código, pero cuando cambié la orientación del emulador, da el error siguiente.

 12-19 11:17:53.590: E/AndroidRuntime(5644): FATAL EXCEPTION: main 12-19 11:17:53.590: E/AndroidRuntime(5644): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.nFlate.xxx.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class <unknown> 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3692) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.access$700(ActivityThread.java:141) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1240) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.os.Handler.dispatchMessage(Handler.java:99) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.os.Looper.loop(Looper.java:137) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.main(ActivityThread.java:5041) 12-19 11:17:53.590: E/AndroidRuntime(5644): at java.lang.reflect.Method.invokeNative(Native Method) 12-19 11:17:53.590: E/AndroidRuntime(5644): at java.lang.reflect.Method.invoke(Method.java:511) 12-19 11:17:53.590: E/AndroidRuntime(5644): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 12-19 11:17:53.590: E/AndroidRuntime(5644): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 12-19 11:17:53.590: E/AndroidRuntime(5644): at dalvik.system.NativeStart.main(Native Method) 12-19 11:17:53.590: E/AndroidRuntime(5644): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class <unknown> 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 12-19 11:17:53.590: E/AndroidRuntime(5644): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.inflate(LayoutInflater.java:466) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 12-19 11:17:53.590: E/AndroidRuntime(5644): at com.nFlate.nflate.InputFragment.onCreateView(InputFragment.java:30) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.Fragment.performCreateView(Fragment.java:1478) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:927) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1086) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:1877) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:552) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1164) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.Activity.performStart(Activity.java:5114) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2153) 12-19 11:17:53.590: E/AndroidRuntime(5644): ... 12 more 12-19 11:17:53.590: E/AndroidRuntime(5644): Caused by: java.lang.reflect.InvocationTargetException 12-19 11:17:53.590: E/AndroidRuntime(5644): at java.lang.reflect.Constructor.constructNative(Native Method) 12-19 11:17:53.590: E/AndroidRuntime(5644): at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.LayoutInflater.createView(LayoutInflater.java:587) 12-19 11:17:53.590: E/AndroidRuntime(5644): ... 27 more 12-19 11:17:53.590: E/AndroidRuntime(5644): Caused by: java.lang.OutOfMemoryError 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:785) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.content.res.Resources.loadDrawable(Resources.java:1965) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.View.<init>(View.java:3330) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.View.<init>(View.java:3259) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.view.ViewGroup.<init>(ViewGroup.java:425) 12-19 11:17:53.590: E/AndroidRuntime(5644): at android.widget.RelativeLayout.<init>(RelativeLayout.java:210) 12-19 11:17:53.590: E/AndroidRuntime(5644): ... 30 more 

Básicamente, el error está dirigido al lugar inferior

 View view = inflater.inflate(R.layout.input, container,false); 

Esto sólo ocurre en Emulator, no en el teléfono. ¿Qué está mal aquí? por favor ayuda.

Compruebe su drawable/background_main es decir, la imagen de fondo de su diseño raíz – la máquina virtual se queda sin memoria al decodificar el mapa de bits. Haga que las dimensiones de la imagen sean más pequeñas.

El problema se produce porque el * drawable / background_main * tiene una imagen de alta resolución. Así que cuando se carga entonces la máquina virtual se queda sin memoria .

Así que lo mejor es reducir su tamaño o resolución.

Usted está utilizando este diseño en el fragmento no en Activity.And también hay otra excepción OutOfMemory su imagen de fondo es muy grande tratar de reducirlo ..

Causado por: java.lang.OutOfMemoryError: tamaño de mapa de bits supera el presupuesto de VM puede ser el verdadero culpable aquí. Intente utilizar una imagen más pequeña para ver si se trata de un problema relacionado con la memoria. Echa un vistazo a estos enlaces para ver ejemplos de problemas similares:

Java.lang.OutOfMemoryError: tamaño de mapa de bits supera el presupuesto de VM – android – ¿cuántas imágenes? Y excepción OutOfMemory al cargar mapa de bits desde almacenamiento externo

He resuelto el mismo problema al reducir la dimensión de los botones .png en todos los archivos xml

Trate de usar imágenes de diferentes resoluciones como mdpi, hdpi, xhdpi si sólo con imágenes de mayor resolución podría causar un accidente en los teléfonos de baja resolución

Mi problema era que tenía una forma con un <solid> con color ?selectableItemBackground . Sí, es tonto y un caso específico, pero publicarlo aquí para las personas con el mismo error.

  • Recursos de cadena de XML vs cadenas constantes de Java?
  • Error XML al agregar Google Analytics a mi aplicación
  • Android spinner eliminar dropdown vertical extra espacio / padding
  • ¿Por qué el margen no funciona?
  • LinearLayout achartengine El gráfico no se muestra en ScrollView
  • ¿Cómo puedo referenciar algo en el archivo /values/strings.xml programatically?
  • Cómo hacer referencia a programación <string> en archivo xml en android
  • Android: cambiar el tamaño de la vista de la imagen en XML
  • Barra de herramientas Appcompat no da estilos a spinner
  • Custom Square LinearLayout. ¿Cómo?
  • Android Studio - No se puede inflar la etiqueta de vista sin atributo de clase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.