Android – E / Surface: queueBuffer: buffer de cola de errores en SurfaceTexture, -22 crash
Necesitaba ayuda en la depuración de mi y averiguar por qué mi aplicación Android sigue fallando. La aplicación se bloquea en una página que tiene una vista de lista y cada fila de vista de lista tiene una imagen y un poco de texto en ella. He creado una clase del escondrijo para almacenar todos los mapas de bits de las imágenes en el listview. Después de permanecer durante una hora en esa página (la página con el listview) la aplicación se bloquea y esto es lo que veo en la consola de Logcat. No puedo entender cómo este accidente está sucediendo, cualquier sugerencia o sugerencia sobre su causa raíz será extremadamente útil. Me disculpo si la información es insuficiente.
07-21 00:47:07.143 2047-2423/com.app E/Parcel﹕ Parcel::writeDupFileDescriptor failed: fd=931 flags=0 err=0(Success) dupFd=-1 dupErr=24(Too many open files) flags=-1 err=9(Bad file number) 07-21 00:47:07.172 2047-2423/com.app E/Surface﹕ queueBuffer: error queuing buffer to SurfaceTexture, -22 07-21 00:47:07.172 2047-2423/com.app W/Adreno-EGLSUB﹕ <SwapBuffers:1344>: failed to queueBuffer 07-21 00:47:07.172 2047-2423/com.app W/Adreno-EGL﹕ <qeglDrvAPI_eglSwapBuffers:3791>: EGL_BAD_SURFACE 07-21 00:47:07.595 2047-2423/com.app E/Parcel﹕ Parcel::writeDupFileDescriptor failed: . (the same error as above gets repeated a couple of times) . . 07-21 00:47:11.685 2047-2423/com.app W/Adreno-EGLSUB﹕ <SwapBuffers:1344>: failed to queueBuffer 07-21 00:47:11.685 2047-2423/com.app W/Adreno-EGL﹕ <qeglDrvAPI_eglSwapBuffers:3791>: EGL_BAD_SURFACE 07-21 00:47:12.128 2047-2423/com.app W/Adreno-GSL﹕ <gsl_ldd_control:416>: ioctl fd 28 code 0xc0140933 (IOCTL_KGSL_TIMESTAMP_EVENT) failed: errno 24 Too many open files . (the same error as above gets repeated a couple of times) . . 07-21 00:47:17.839 2047-2047/com.app W/InputMethodManager﹕ IME died: com.android.inputmethod.latin/.LatinIME android.os.TransactionTooLargeException
También estoy agregando mi diseño xml si es útil
- Procesamiento lento de lotes de modelos en libGDX
- Child Views Tomando demasiado tiempo para dibujar en la pantalla
- Android - GC_FOR_ALLOC liberado 6346K, 7% gratis, pausado 143ms, total 143ms
- ¿La imagen tarda demasiado en cargarse?
- Android ViewPager y TabLayout no funcionan rápido
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/framelayout" android:background="@color/black"> <ImageView android:layout_width="225dp" android:layout_height="225dp" android:alpha="0.3" android:id="@+id/background_image" android:layout_gravity="center" android:background="@drawable/visual_background_animation_list"/> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="start"> <!-- The main content view --> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <RelativeLayout android:id="@+id/top_header" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="@drawable/background_holo_dark"> <ImageView android:id="@+id/play_pause_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true"/> <SeekBar android:layout_marginLeft="75dp" android:id="@+id/seek_bar" android:layout_width="match_parent" android:layout_height="wrap_content"/> <ImageView android:id="@+id/nxt" android:layout_width="60dp" android:layout_height="60dp" android:layout_alignParentRight="true"/> <TextView android:layout_alignLeft="@+id/nxt" android:layout_below="@+id/seek_bar" android:id="@+id/curr" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_alignRight="@+id/nxt" android:layout_below="@+id/seek_bar" android:id="@+id/curr_2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/top_header"> <ListView android:id="@+id/another_list" android:layout_width="match_parent" android:layout_height="match_parent"/> </FrameLayout> </RelativeLayout> <!-- The navigation drawer --> <RelativeLayout android:id="@+id/drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="@android:color/darker_gray" android:orientation="vertical"> <ListView android:id="@+id/another_list_2" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:choiceMode="singleChoice" /> </RelativeLayout> </android.support.v4.widget.DrawerLayout> </FrameLayout>
También quería mencionar que tengo una lista de animación que se ejecuta y se muestra como imagen de fondo de esta aplicación.
Disposición del cajón de navegación
Diseño para el cajón de navegación
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TableRow> <TextView android:id="@+id/name1"/> </TableRow> <TableRow> <TextView android:id="@+id/name2"/> </TableRow> </TableLayout>
Y el diseño del listview
<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" android:visibility="invisible"> <ImageView android:id="@+id/image_on_left" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RelativeLayout android:id="@+id/relative_layout_id" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@+id/image_on_left"> <TextView android:id="@+id/title1" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RelativeLayout android:id="@+id/relative_layout_title2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/title1"> <TextView android:id="@+id/title2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> <ImageView android:id="@+id/another_image" android:layout_alignParentRight="true"/> </RelativeLayout> </RelativeLayout>
- ¿Qué significa MediaPlayer info / warning (973, 0)?
- Android Ver animación - bajo rendimiento en pantallas grandes
- GridView carga lento para los recursos de imagen grande
- LockCanvas () muy lento
- ¿Cuáles son los posibles problemas de rendimiento en el uso de python over java para el desarrollo de aplicaciones para Android?
- ¿Cómo mterp (Dalvik VM) organiza su bucle de interpretación de bytes?
- Utilizar commit () dentro de OnSharedPreferenceChangeListener ()
- Android: Obtener "No se puede cargar la lista AVD:" error en el momento de la ejecución
Hice algunas investigaciones en la red y en mi código y descubrí que había muchas fugas de memoria. He cambiado algunas cosas para deshacerse de ese error.
-
Me aseguré de que mi contexto no estaba siendo almacenado en caché en ninguna de mis clases de ayuda (básicamente mis clases de utilidad)
-
También no estaba usando una clase de titular en mi listview
Así que agregué la declaración siguiente en mi clase del adaptador de encargo
static class ViewHolder { TextView name; ImageView imageView; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = new ViewHolder(); .... convertView.setTag(viewHolder); }
- Android Tv: obtener la lista de canales
- Establecer Retrofit RestAdapter.LogLevel a algo que no sea FULL produce un cuerpo de respuesta vacía