La imagen no aparece en HTC One M8
Actualmente estoy desarrollando una nueva aplicación para la empresa en la que estoy trabajando. Probamos esto en dispositivos múltiples, ahora una cosa extraña que noté el otro día, bien alguien más lo hizo.
Mi colega probado la aplicación en su HTC uno m8, y tenemos una imagen de fondo en la página de inicio de sesión, pero no se muestra para él. Sin embargo, en un Nexus 7, Samsung Galaxy Tab 4, Motorola G y Samsung S4.
- Cómo ver AndroidManifest.xml de archivo APK?
- No se ha seleccionado ningún destino de reproducción con Android Studio
- Cambiar el fondo de LinearLayout en Android
- Disposición de Android: vistas cuadráticas
- Android TextView DrawableTint en dispositivos pre v23
Esto podría ser muy específico, pero supongo que algunas personas deben haber notado este tipo de comportamiento antes en ciertos dispositivos y descubrió por qué esto podría ocurrir?
La imagen se guarda en la carpeta normal dibujable y tiene un tamaño de 1400px933px y es un jpeg.
Me pregunto si alguien tiene alguna pista.
ImageView es el primer hijo de un diseño relativo, con un tamaño de coincidencia padre en anchura y altura. Así que debería encajar, otras vistas están en la parte superior de este.
- Cómo establecer recurso de imagen a ImageView utilizando DataBinding
- El azulejo estirable a veces estira
- Android - Creación de una máscara circular en vídeo
- Advertencia: Este <FrameLayout> se puede reemplazar con una etiqueta <merge>
- Cómo hacer navegación personalizada ver animaciones como ésta
- Cargar un TextView desde xml en un TextSwitcher
- Barra de progreso circular (para un temporizador de cuenta regresiva)
- El valor SharedPreferences no se actualiza
Creo que este problema también tiene que ver con cómo Android escalas las imágenes. Intente colocar la imagen en una carpeta de recursos drawable-nodpi
.
La carpeta drawable-mdpi
es la misma que drawable-mdpi
. En el HTC One M8 imágenes calificadas como mdpi
se incrementan en un factor de 3. Así que su imagen 4200x2799px
convierte en 4200x2799px
. El tamaño máximo permitido por OpenGL es 4096x4096
.
Me enfrenté a un problema similar con Samsung Galaxy Note 3. Este fue el único dispositivo que no pudo cargar una gran imagen de mapa de bits. Después de una búsqueda bastante larga finalmente encontré que algunos teléfonos utilizan un pequeño tamaño de montón para las aplicaciones de forma predeterminada. Esto se debe a la optimización de memoria y evitar el problema de pérdida de memoria. Así que básicamente usted puede hacer las siguientes cosas para resolver esto,
-
Usar
android:largeHeap="true"
en el elemento del manifiesto de actividad. Esto le dará a su aplicación un tamaño de montón grande. -
Utilice una biblioteca de carga de imágenes como Android-Universal-Image-Loader
-
Utilice una imagen optimizada con menos resolución.
Esto puede ser contestado, pero porque mi búsqueda me llevó aquí, y probablemente lo hará para otros. Mi xml se veía así antes. Se sorprendió al ver que la aplicación generada: srcCompat causa nunca he oído hablar de eso. Mantuve el código tal como está y copié "@ drawable / your_image" como un valor para un nuevo atributo que agregué a android: src.
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/salwa_small" android:id="@+id/img_my_profile_picture"/>
Después:
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" app:srcCompat="@drawable/salwa_small" android:src="@drawable/salwa_small" android:id="@+id/img_my_profile_picture"/>
Sólo pude ver la imagen en el diseñador de estudio de Android antes, pero después aparece en ambos.
- ¿Cómo cambiar el título de la barra de herramientas mediante el diseño?
- Firebase LatLng falta un constructor sin argumentos