loading...

jueves, 9 de diciembre de 2010

Motorola Android. Llegar al fondo de los errores de memoria con MOTODEV Studio

Llegar al fondo de los errores de memoria con MOTODEV Studio

por Eric Cloninger (EricC) en 12/02/2010 11:42 - editado por última vez el 12/03/2010 24:08
03 de diciembre 2010 - Blog de software de alojamiento Nuestro está teniendo problemas con los enlaces de imagen en este artículo. Hemos presentado un informe de error para que lo resuelva. Pedimos disculpas por los problemas. Eric

Episodio IV - Una nueva esperanza

Una de las promesas de Java, hacia 1996, fue que los problemas de la memoria sería resuelto por un recolector de basura que era más inteligente que nosotros. Si bien la recolección de basura se resuelve muchos de los problemas que hicieron que nuestra vida más difícil, no es de bala de plata que mata a la bestia. Problemas con la memoria todavía existen y la naturaleza opaca de la memoria de Java en realidad hace que el proceso de depuración más difícil. MOTODEV Studio ayuda a aliviar parte de esta dificultad mediante la inclusión de una herramienta de análisis de memoria común que se llama MAT.

MAT, o el "Memory Analyzer", es un proyecto de Eclipse que fue desarrollado en código abierto por committers de IBM y SAP. MAT lee la salida del comando estándar de Java HPROF y muestra los resultados de una manera que puede ser interpretada por los seres humanos.

El equipo de MOTODEV Studio hecho algunos ajustes a la MAT para que sea más fácil para los desarrolladores de Android de usar, pero la mayor parte de esta funcionalidad viene de los plugins existentes MAT o ADT plugin de Google. El wiki MAT tiene algunas preguntas frecuentes de base, pero el mejor artículo que he encontrado sobre la manera de revisar y entender los resultados está disponible en el sitio web de SAP.

Comience en el inicio

Los pasos siguientes describen una forma de realizar esta tarea. Hay muchas maneras de conseguir el trabajo hecho con Eclipse, así que si esta no coincide con su propio flujo de trabajo, usted debería ser capaz de adaptar estas instrucciones para satisfacer sus necesidades. Le sugiero que ejecute estas instrucciones una vez con su aplicación en un estado estable, como en la actividad principal. Lea los resultados y tratar de comprender de qué objetos son creados por el sistema operativo y las clases base. HPROF genera mucha información para que usted necesita aprender la habilidad de detectar la aguja en el pajar . De lo contrario, podría perder el tiempo mirando a resultados que no son particularmente interesantes o útiles. Tenga en cuenta que HPROF toma una instantánea de las condiciones actuales y no controla la ejecución en el tiempo, es posible que deba ejecutar \ estos pasos varias veces para identificar los problemas que surgen.

  1. Poner en marcha un dispositivo virtual de Android (AVD) usando el MOTODEV Studio Device Management punto de vista, se muestra a continuación. Usted puede utilizar MAT y MOTODEV Studio con un emulador o un dispositivo real, pero si usted está utilizando su teléfono personal para la depuración, siempre debe asegurarse de que sus datos respaldados. A partir de ahora, voy a utilizar el término "dispositivo", lo que podría ser un teléfono físico o un emulador.

    1-msd_devmgmt.png

  2. Haga clic derecho sobre el proyecto que contiene su aplicación en el Explorador de paquetes y seleccioneEjecutar como-> Android aplicación utilizando MOTODEV Studio . Este paso copia de su aplicación para el dispositivo y se pone en marcha.
  3. Ejercicio de la interfaz de usuario de su aplicación hasta el punto donde se sospecha que las fugas se producen.Recuerde que la naturaleza instantánea de HPROF, por lo que desea recoger los datos lo más cerca posible al lugar problema.
  4. Cambie a la administración de dispositivos de vista, haga clic derecho sobre el dispositivo que se está probando, y elija la memoria Analizar con MAT , como se muestra a continuación

    2-devmgmt_popup_mat.png

  5. A continuación, seleccione la aplicación que desea observar y pulse Finalizar

    3-analyze_dialog.png

  6. En este punto, HPROF se apaga y realiza su análisis. Este proceso dura unos 15 segundos, dependiendo de la velocidad del ordenador y la carga en el dispositivo. Si bien se puede poner este cuadro de diálogo en el fondo, es probable que se termine antes de tener la oportunidad de hacerlo.

    4-mat_progress.png

  7. Cuando HPROF es completa, transfiere un archivo a su computadora. Este archivo se almacena en el directorio referenciado por la variable de entorno TEMP. Después de que se almacena, se le indica a continuación el cuadro de diálogo, preguntando cómo procesar los resultados. Ya que estamos interesados en la búsqueda de fugas, elija la primera opción.

    5-MAT_getting_started.png

  8. En el gráfico se muestra a continuación es un ejemplo de lo que va a ver en los TMA. Se ha identifica varios posibles culpables de causar las fugas que vemos. La tabla tiene enlaces que le permiten perforar más profundo en cada una de las áreas problema y le permiten explorar los elementos de datos individuales.

    6-mat_chart.png

    Como mencioné al principio, habrá algunos falsos positivos en los resultados y es muy útil saber cuáles son causados por el marco y los que vienen desde el código. En mi caso, el problema era en realidad el segundo candidato, como se muestra a continuación.

    7-leak_found.png
  9. Hay maneras de profundizar en los resultados y ver realmente el contenido de la memoria que fue asignada.Desde la barra de herramientas en la parte superior de los resultados de MAT, haga clic en el icono de la extrema derecha, con una foto de un Android en él. Esto filtra los resultados para su aplicación y permite examinar la memoria en mayores detalles.

    8-mat_chart_toolbar.png

  10. Si usted encuentra que usted desea ir más de los resultados de una ejecución anterior, puede hacerlo en cualquier momento. Sólo tiene que usar Archivo-> Abrir para localizar y abrir el archivo con el sufijo HPROF. en la carpeta TEMP. Esto hará que el analizador a correr de nuevo con los resultados que previamente capturados.
El Bueno, el Malo y el Feo (y la solución)

Tan útil como HPROF y los TMA son, este es un método inexacto. HPROF sólo funciona en un momento específico en el tiempo, no a través de la vida de su aplicación. Usted podría ejecutar HPROF dos veces en rápida sucesión y obtener resultados muy diferentes. La aleatoriedad del recolector de basura hace que encontrar el momento en que los problemas surgen a ser no-determinista. Un truco que he visto usar a los desarrolladores es poner a dormir () En los estados en el código en puntos específicos. Una vez que lleguen a la declaración del sueño, que tengan tiempo de cambiar a MOTODEV Studio tiempo suficiente para activar la captura de datos.

La herramienta correcta para el trabajo

MAT es una herramienta útil y puede ser una parte esencial de un flujo de trabajo de diagnóstico. Se necesita la aportación de HPROF y la muestra de una manera que usted puede seguir las cuestiones de asignación de memoria. No hace un seguimiento del uso de la API y no le dirá que los procesos están usando demasiado de la CPU. Sin embargo, utilizado correctamente, puede ayudarle a crear un más rápido y más eficiente aplicación.

Buena suerte con sus aplicaciones móviles y gracias por utilizar MOTODEV Studio.

Soluciones de Ingeniería bondades de SolidWorks



¿Qué Ofrece Arcus Technologies con SolidWorks 2011?
  • Servicio de Suscripción: Este servicio incluye el soporte técnico en el cual se realiza llamadas preventivas para solventar las inquietudes del usuario, de igual manera incluye Tips Informativos y Folletería Virtual.
  • Actualización de la biblioteca de SolidWorks (GRATIS).
  • Recursos de Valor Agregado.
  • Webinar, los cuales son seminarios que se realizan por la Web de cada uno de los módulos existentes en SolidWorks.
  • Participación de su empresa en los eventos de Lanzamiento de SolidWorks.
  • Cursos de adiestramiento, que incluye desde conceptos básicos de CAD 3D hasta las herramientas de simulación en todos los módulos de SolidWorks.
  • Consultoría técnica, tenemos el departamento de ingeniería más capacitado de cualquier software en Latinoamérica, a través de esta herramienta se podrá estudiar y determinar las necesidades del usuario para luego poder resolverlas.
  • Ayuda Técnica, en caso de poseer dudas o en caso de establecer proyectos a gran escala y necesitar asesoría, estamos a disposición de los clientes.
  • Atención directa con la central SolidWorks en Massachusetts - EE.UU. 

  


Soluciones de Ingeniería.

Links donde pueden observar algunas de las bondades de SolidWorks:



Plástico:






Moldex 3DX: Es un software asiático, Partner de SolidWorks dedicado únicamente a las empresas como UNITECA.




Simulación:









Estructura Metálica:

Galpón:

Chapa Metálica:

Diseño de Plantas:

Videos de SolidWorks:









Lic. Simón Abreu

Visitenos: www.arcus.com.ve

P Salva un árbol. No imprimas este correo electrónico a menos que sea realmente necesario 

empresas de marketing en Internet

En línea Marketing: Personalizada

Piensa en todas las empresas de marketing en Internet son los mismos?
Unión Ajax es una empresa SEO con un toque personal.
Ofrecemos planes flexibles, orientada a los resultados con cero contratos, actualizaciones de la cuenta directamente en su bandeja de entrada, y una línea abierta de comunicación para adaptarse mejor a su negocio y sus necesidades cambiantes.
servicios de publicidad en Internet incluyen:
Para empezar con el Ajax de la Unión y reclamar su consulta gratis, llámenos al 800-594-0444 o llene el formulario a la derecha de la página.
           

Fuente: http://www.ajaxunion.com/


¿Cual es El Problema Con Los Números de Facebook en Las ACTUALIZACIONES de Estado?Encuentra Aqui! Leer más »

Energía híbrida de Fujitsu


Fujitsu  anunció el desarrollo de un único dispositivo, que es capaz de generar electricidad a partir de calor o la luz. Anteriormente, dos dispositivos tuvieron que ser combinados para generar electricidad a partir de estas fuentes (a través de captación de energía, la energía puede proceder de fuentes externas como la luz, el calor, la energía eólica, vibraciones, etc.)
Sobre el papel, la llamada energía híbrida de Fujitsu dispositivo que cosecha y duplica el potencial energético de captura (véase más adelante).
La compañía también dice que su nuevo dispositivo, no requiere cableado o reemplazos de la batería, lo que significa que puede servir como una solución más barata en las zonas con insuficiente abastecimiento de energía en el futuro.
Lo que se ve en la foto en la parte superior de este post es un prototipo fabricado en sustrato flexible. Fujitsu dice que está trabajando ahora en mejorar su tecnología para comercializar alrededor de 2015.