Articles of bitmap de

¿Cómo funciona la asignación de bitmap en Oreo y cómo investigar su memoria?

Fondo En los últimos años, para comprobar cuánta memoria Heap tienes en Android y cuánto usas, puedes usar algo como: @JvmStatic fun getHeapMemStats(context: Context): String { val runtime = Runtime.getRuntime() val maxMemInBytes = runtime.maxMemory() val availableMemInBytes = runtime.maxMemory() – (runtime.totalMemory() – runtime.freeMemory()) val usedMemInBytes = maxMemInBytes – availableMemInBytes val usedMemInPercentage = usedMemInBytes * 100 / […]

¿Cómo cargar imágenes grandes en Android y evitar el error de falta de memoria?

Estoy trabajando en una aplicación que usa imágenes grandes (1390 × 870: 150 kb – 50 kb). Estoy agregando imágenes cuando toco un disparador / ImageView. En cierto punto, recibo un error de falta de memoria: java.lang.OutOfMemoryError E/AndroidRuntime(23369): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) E/AndroidRuntime(23369): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:613) E/AndroidRuntime(23369): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:378) Para cambiar el tamaño de la imagen, estoy […]

Bordear un bitmap con esquinas redondeadas en Android

Usé el siguiente para hacer un bitmap con esquinas redondeadas. Ahora quiero dibujar una línea alrededor del bitmap. private BitmapDrawable roundCornered(BitmapDrawable scaledBitmap, int i) { Bitmap bitmap = scaledBitmap.getBitmap(); result = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); canvas = new Canvas(result); color = 0xff424242; paint = new Paint(); rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); rectF = new […]

Tome una captura de pantalla usando MediaProjection

Con las API de MediaProjection disponibles en Android L, es posible captura el contenido de la pantalla principal (la pantalla predeterminada) en un objeto Surface, que tu aplicación puede enviar a través de la red SurfaceView funcionar VirtualDisplay y mi SurfaceView muestra correctamente el contenido de la pantalla. Lo que quiero hacer es capturar un […]

BitmapFactory.decodeStream sin memoria a pesar de utilizar tamaño de muestra reducido

He leído muchas publicaciones relacionadas con problemas de asignación de memoria con mapas de bits de deencoding, pero aún no puedo encontrar la solución al siguiente problema incluso después de usar el código proporcionado en el sitio web oficial. Aquí está mi código: public static Bitmap decodeSampledBitmapFromResource(InputStream inputStream, int reqWidth, int reqHeight) { ByteArrayOutputStream baos […]

¿Cuándo debería reciclar un bitmap usando LRUCache?

Estoy usando un LRUCache para almacenar mapas de bits que están almacenados en el sistema de archivos. Construí el caché basado en los ejemplos aquí: http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html El problema es que estoy viendo lockings de OutOfMemory con frecuencia mientras uso la aplicación. Creo que cuando LRUCache desaloja una imagen para dejar espacio a otra, la memoria […]

cómo llenar el color de la imagen en un área determinada?

Quiero llenar el color en el área blanca para la aplicación de pintura, así que por favor dame sugerencias sobre cómo hacer este trabajo.

java.lang.OutOfMemoryError – BitmapFactory.decode (strPath)

Estoy obteniendo java.lang.OutOfMemoryError , cada vez que llamo UploadActivity.java La línea número 176 es: Bitmap bm = BitmapFactory.decodeFile(strPath); Ver mi registro: 12-07 17:57:10.585: E/AndroidRuntime(16708): FATAL EXCEPTION: main 12-07 17:57:10.585: E/AndroidRuntime(16708): java.lang.OutOfMemoryError 12-07 17:57:10.585: E/AndroidRuntime(16708): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 12-07 17:57:10.585: E/AndroidRuntime(16708): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:650) 12-07 17:57:10.585: E/AndroidRuntime(16708): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:389) 12-07 17:57:10.585: E/AndroidRuntime(16708): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:449) 12-07 17:57:10.585: E/AndroidRuntime(16708): […]

Memoria insuficiente al crear mapas de bits en el dispositivo

Estoy teniendo problemas con imágenes de alta resolución. Estoy usando la carpeta nodpi-drawable para imágenes de 1280×720 y usando este código para escalarlo. public static Drawable scaleDrawable(Drawable d, int width, Activity cxt) { BitmapDrawable bd = (BitmapDrawable)d; double oldWidth = bd.getBitmap().getWidth(); double scaleFactor = width / oldWidth; int newHeight = (int) (d.getIntrinsicHeight() * scaleFactor); int […]

Error de memoria insuficiente al cargar mapas de bits

tengo una aplicación para Android con 3 acitivtys: A1 – comienza -> A2 – comienza -> A3 – cuando termina su proceso: comienza -> A1 (Así que no “finish ();” una aplicación. Comienzo las siguientes actividades con “startActivity (..);” todo el tiempo después de la interacción con el usuario) entonces hay un ciclo en estas […]