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)
- Cómo hacer navegación personalizada ver animaciones como ésta
- Cargar un TextView desde xml en un TextSwitcher
- Extraer el archivo AndroidManifest.xml de apk usando sólo Java
- Android: Especifique dos imágenes diferentes para el togglebutton mediante XML
- No se puede resolver el símbolo 'R' en Android Studio: "la fusión manifiesta falló con varios errores, vea los registros"
<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.
- "El contenido tiene vista con el atributo id 'android.r.id.list' que no es una clase ListView." Cuando se crea una vista de lista en un fragmento
- Obtención de recursos de / res en dependencia
- ¿Cómo cambio el color y / o dibujable del divisor TabWidget en Android?
- Dimens.xml en la carpeta de valores de 7 "y 10" tableta, ¿cómo?
- Cambiar el color del texto de TimePicker
- Cómo utilizar setEmptyView () con el diseño de lista personalizada en ListFragment
- Android, escucha de la casilla de verificación en XML?
- Html a xml (análisis sintáctico)
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.
- PictureListener y onNewPicture () están obsoletos – Alternativas?
- Establecer el estado de BottomSheetDialogFragment a expandido