2010-10-23 14 views
6

que tienen un juego de cartas simple donde el usuario puede arrastrar y soltar las tarjetas por la pantalla. En algunos de los 2.2 teléfonos Android como Droid y EVO, el dibujo de la tarjeta es muy lento. Esto es extraño porque ocurre en algunos de los teléfonos más rápidos. Sin embargo, no todos los teléfonos que pruebo en el Droid y Droid X y el programa funcionan bien también funcionan bien en teléfonos lentos como el G1. Empecé a recibir informes sobre esto después de que Motorolla lanzara la actualización 2.2 para el Droid.¿Por qué dibujar bitmaps es muy lento en algunos teléfonos con Android 2.2?

Aquí está la solución que se me ocurrió, pero en realidad disminuye la calidad de mis gráficos. Los gradientes se ven horribles.

me cambió esta

Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_8888); 

a este

Bitmap.createBitmap(newBmp.getWidth(), newBmp.getHeight(), Bitmap.Config.ARGB_4444); 

El problema desaparece, pero las miradas sufren. Necesito mantener el canal alfa, así que no puedo usar RGB_565. ¿Hay alguna manera de mantener mis imágenes de calidad y no hacer que funcione tan lento?

+0

No sé sobre el desarrollo de Android, pero podría ser que algunos dispositivos utilizan un formato de mapa de bits nativa diferente? Intentaría usar el formato que es nativo del dispositivo, y espero que sea el más rápido. – Lucero

+0

Estoy usando archivos png. Lo extraño es que funcionará bien en un Droid con 2.1 pero lento en algunos teléfonos Droid con 2.2. Creo que esto podría ser un error, pero aún necesito un buen trabajo. – theJosh

+1

¿Qué tan grandes son estas tarjetas? Además, ¿de dónde sacas los mapas de bits? ¿Los estás usando como buffers fuera de la pantalla? ¿Qué resolución tienen los mapas de bits? –

Respuesta

0

Posiblemente estas son algunas de las grandes Bitmaps que usted está tratando de procesar. Echa un vistazo a este entrenamiento de Android Loading Large Bitmaps Efficiently.

creo que esto podría ayudar a su rendimiento y hacer mapas de bits de carga no bloqueen el hilo principal interfaz de usuario.