Spanish Algunos problemas tras lanzar app

Carlos marin

Active Member
Licensed User
Longtime User
Hola compañeros;

por aquí abro una nueva consulta que se que a muchos mas adelante les servirá. tras publicar mi app e recibido varios detallitos que me gustaría poder compartir y de pronto alguien con mucho mas conocimiento que mi persona me ayude

1. utilizo una libreria de Johan Schoeman para redondear los bitmaps https://www.b4x.com/android/forum/threads/roundbitmapwithborder-inline-java-code.51848/#content
el problema que se me esta presentando con esto es el error: OutOfMemoryError no se si habra una forma de liberar memoria o algo, esto no pasa en todos los quipos solo en unos incluso los gama alta.

- por otra parte para redondear el bitmap debes cargar una imagen desde el directorio asi: (bm.Initialize(File.DirAssets, "logobn.png")), en ocasiones yo cargo la imagen desde un servidor utilizando un servicio (DesImagenes) pero no la guarda en un directorio por lo que veo sino que simplemente la carga al bitmap. es posible utilizar el código de Johan Schoeman para redondear el bitmap cargando una imagen del server??

2. cuando inicia el app siempre muestra una pantalla negra con el titulo como si uno desde el inicio diera #IncludeTitle: True, pero no es asi. incluso intente poner un splash antes pero siempre muestra la imagen negra. es posible quitarla?

3. En la notificación de un servicio se que uno puede cambiar el icono de esta ruta. Objects\res\drawable y poner el nombre en el "icon" del servicio. el problema es que cada vez que lo hago y compilo el mismo programa lo quita, vi un tutorial de Erel donde dice que primero debes darle en tool/clean project. esto ya lo hice pero igual al compilar borra todo lo demás dejando solo en esa carpeta la imagen Icon.png

4. por ultimo no se si les a pasado, pero cuando trabajo con sqlite. y un activity esta en pause por mas de 5 a 10 min. cuanto uno lo vuelve abrir ya no carga la bd ni la inicializa ni nada el programa muestra errores habidos y por haber, estaba pensando en poner un timer y al dicho tiempo ps finalizar la app no se si sea lo mas conveniente.

Gracias por su ayuda compañeros. adjunto las imagenes a las que me refiero
 

Attachments

  • Pantallazo_15-03-2017-11-09-49.png
    Pantallazo_15-03-2017-11-09-49.png
    27 KB · Views: 204
  • IMG-20170314-WA0041.jpg
    IMG-20170314-WA0041.jpg
    70.5 KB · Views: 188
Last edited:

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola Carlos:

No me gusta contestar a multiples preguntas en un mismo post, por que desde el foro no se sabe con ese título que preguntas hay dentro y asi el único que podria beneficiarse de las respuesta que te den seria casi solo tu, haré una exception.

OutOfMemoryError no se si habra una forma de liberar memoria o algo, esto no pasa en todos los quipos solo en unos incluso los gama alta.
En vez de hacer un Inicialize "normaL" hazlo con este método:
B4X:
  bm.Initialize(File.DirAssets,"pluto.jpg")   ' el que emplea el ejemplo
  bm.InitializeSample(File.DirAssets,"pluto.jpg"),MaxX,MaxY)
MaxX,MaxY empieza probando un 15%x , 15%y por ejemplo, y si se ve bien lo dejas, si no ves aumentando progresivamente, con este método no utilizas tanta memoria.

En el ejemplo, una vez cargada la imagen en el bitmap, la pasa a un ImageView:
B4X:
ImageView2.Bitmap = bm2
Create una imagen de 1 pixel (por ejemplo) y despues de asignar el bitmap a ImageView cargale esa imagen (ImagenVacia), asi bajaras la memoria:
B4X:
ImageView2.Bitmap = bm2  
bm.Initialize3(ImagenVacia.Bitmap)

es posible utilizar el código de Johan Schoeman para redondear el bitmap cargando una imagen del server??
No se como cargas la imagen desde el server, pero si la bajas la estas poniendo en algun sitio, si no es asi, salvala en un fichero temporal y cargala con el código de Johan Schoeman

2. cuando inicia el app siempre muestra una pantalla negra con el titulo como si uno desde el inicio diera #IncludeTitle: True, pero no es asi. incluso intente poner un splash antes pero siempre muestra la imagen negra. es posible quitarla?
Correlo en modo debug y mira cuando carga esa pantalla y por que, lo mas seguro es que como te bajas las imagenes aun no has empezado a "pintarla" y ves el fondo que le has dado al activity. pon un mensaje de espere, o un panel.

3. En la notificación de un servicio se que uno puede cambiar el icono de esta ruta. Objects\res\drawable y poner el nombre en el "icon" del servicio. el problema es que cada vez que lo hago y compilo el mismo programa lo quita, vi un tutorial de Erel donde dice que primero debes darle en tool/clean project. esto ya lo hice pero igual al compilar borra todo lo demás dejando solo en esa carpeta la imagen Icon.png
Borra manualmente el icono en la carpeta y vuelvelo a cargar en el proyecto.

4. por ultimo no se si les a pasado, pero cuando trabajo con sqlite. y un activity esta en pause por mas de 5 a 10 min. cuanto uno lo vuelve abrir ya no carga la bd ni la inicializa ni nada el programa muestra errores habidos y por haber, estaba pensando en poner un timer y al dicho tiempo ps finalizar la app no se si sea lo mas conveniente.
Cuando un Activity vuelve de Pause va Activity_Resume, mete ahí el código de cargar la BD
Mirate esto:
https://www.b4x.com/android/forum/t...ia-rápida-del-ciclo-de-vida-de-android.38760/

Por favor, si aun tienes problemas con alguna de las preguntas, abre un nuevo hilo y asi habrá mas gente que te pueda responder y mas gente que se beneficiará de esa ayuda.

Saludos
 
Top