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 / […]
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 […]
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 […]
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 […]
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 […]
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 […]
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.
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): […]
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 […]
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 […]