<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gatoelectronico &#187; Celulares</title>
	<atom:link href="http://www.gatoelectronico.com.ar/tag/celulares/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gatoelectronico.com.ar</link>
	<description>store of my hobbies</description>
	<lastBuildDate>Sat, 17 Dec 2011 04:53:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Android: Programando para la vida (de la batería)</title>
		<link>http://www.gatoelectronico.com.ar/2011/12/android-programando-para-la-vida-de-la-bateria/</link>
		<comments>http://www.gatoelectronico.com.ar/2011/12/android-programando-para-la-vida-de-la-bateria/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 20:15:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Articulos de interes]]></category>
		<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Celulares]]></category>
		<category><![CDATA[Configuración]]></category>

		<guid isPermaLink="false">http://www.gatoelectronico.com.ar/?p=262</guid>
		<description><![CDATA[Resumen de la conferencia de Jeffrey Sharkey en Google I/O 2009 En el desarrollo de aplicaciones para móviles hay que tener en cuenta tres cosas a la hora de desarrollar aplicaciones: la vida de la batería, la vida de la batería y la vida de la batería. Después de todo, si la batería está agotada, [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Resumen de la conferencia de Jeffrey Sharkey en Google I/O 2009</p>
<p>En el desarrollo de aplicaciones para móviles hay que tener en cuenta tres cosas a la hora de desarrollar aplicaciones: la vida de la batería, la vida de la batería y la vida de la batería. Después de todo, si la batería está agotada, nadie podrá utilizar tu aplicación. En este documento se describe cómo afectan las distintas redes a la vida de la batería, las formas correctas e incorrectas de utilizar características específicas de Android como los &#8220;wake locks&#8221;, el por qué no puedes asumir que está bien consumir más memoria para ahorrar tiempo y más.</p>
<h2 title="Haz clic en el botón &quot;Editar este knol&quot; para pasar al modo editar y cambiar este campo.">Contenido</h2>
</div>
<div>
<ul id="knol-toc-list-toc-list">
<li>Introducción</li>
<li>¿Por qué es importante tener en cuenta el consumo de batería?</li>
<li>¿En qué se nos va el gasto de batería?</li>
<li>Ejemplos de la vida real</li>
<li>¿Qué es lo que más consume?</li>
<li>Redes</li>
<li>Esperar a una conexión 3G o WIFI</li>
<li>Utilizar un analizador de datos eficiente</li>
<li>Utilizar GZIP para texto</li>
<li>Aplicaciones en primer plano</li>
<li>WakeLocks</li>
<li>Reciclar objetos de Java</li>
<li>Utilizar localización por red telefónica</li>
<li>Utilizar aritmética con número reales (decimales, en punto flotante) sale caro</li>
<li>Sensores</li>
<li>Aplicaciones en background</li>
<li>Más allá de Android 1.5</li>
<li>Enlaces</li>
</ul>
</div>
<div id="knol-section-yf7xkfmg7vie.1">
<div id="knol-content-wrapper-yf7xkfmg7vie.1-content-wrapper">
<div id="knol-content-yf7xkfmg7vie.1">
<div dir="ltr">
<div>
<h2>Introducción</h2>
<h4>¿Por qué es importante tener en cuenta el consumo de batería?</h4>
<p>Desde que desconectamos nuestro movil del cargador por la mañana y a lo largo del día, para funcionar, necesita consumir la energía almacenada. Cuando esta se termina, ya no se volverá a poder utilizar hasta que se vuelva a conectar. Las aplicaciones necesitan trabajar juntas para hacer un buen uso de los recursos a los que tienen acceso.<br />
<span id="more-262"></span><br />
Utilizaremos las siguientes unidades:</p>
<ul>
<li>Gasto que se hace de energía: mA</li>
<li>Capacidad: mAh</li>
</ul>
<p>Veamos la capacidad de la batería de algunos dispositivos con Android:</p>
<ul>
<li>HTC Dream: 1150 mAh</li>
<li>HTC Magic: 1350 mAh</li>
<li>Samsung I7500: 1500 mAh</li>
<li>Asus Eee PC: 5800 mAh</li>
</ul>
<p>A mayor capacidad, mayor tamaño de batería, así que hay que escoger una buena relación tamaño / usabilidad. Al fin y al cabo, un dispositivo portatil deberá ser eso, portatil.</p>
<h4>¿En qué se nos va el gasto de batería?</h4>
<ul>
<li>Modo avión: 2 mA</li>
<li>Modo espera 3G / EDGE: 5 mA</li>
<li>Modo espera WIFI: 12 mA</li>
<li>LCD normal: 90 mA</li>
<li>CPU 50% &#8211; 100%: 110 mA</li>
<li>Sensores: 80 mA</li>
<li>GPS: 85 mA</li>
<li>3G transferencia máxima: 150 mA</li>
<li>EDGE transferencia máxima: 250 mA</li>
<li>WIFI transferencia máxima: 275 mA</li>
</ul>
<h4>Ejemplos de la vida real</h4>
<p>Suponiendo que tenemos una batería con una capacidad de 1150mAh. Si dividimos este valor entre el consumo que tiene cada actividad podremos estimar la duración de la batería realizando esa actividad de forma contínua.</p>
<ul>
<li>Ver Youtube: 340 mA = 3,4 horas</li>
<li>Navegar por la Web usando 3G: 225 mA = 5 horas</li>
<li>Uso típico: 42 mA (de media) = 32 horas</li>
<li>EDGE en modo espera: 5 mA = 9,5 días</li>
<li>Modo avión en espera: 2 mA = 24 días</li>
</ul>
<h4>¿Qué es lo que más consume?</h4>
<p>En todo lo alto de la lista están los procesos que se ejecutan cuando el teléfono está en modo espera. Tomemos como ejemplo una aplicación que se despierta cada 10 minutos para actualizar sus datos y que tarda 8 segundos en realizar esta labor con un consumo de 350 mA.</p>
</div>
<div>Consumo estimado en una hora:</p>
<p>3600 segundos * 5 mA = <strong>5 mAh (</strong><strong>en espera)</strong><br />
6 veces * 8 segundos * 350 mA = <strong>4,6mAh (actualizándose)</strong></p>
<p>Como se puede observar, esta inocente aplicación consume casi lo mismo actualizándose durante 48 segundos que durante 1 hora en modo espera.</p>
<p>Y esto no es todo, cada vez que actives tu servicio, desencadenarás la ejecución de otros (para aprovechar la activación de los elementos del dispositivo, que se encuentra en modo espera). Al final, despertamos a nuestro dispositivo para ejecutar un servicio (aplicación) durante 8 segundos y permanece trabajando (en backgrond) entre 15 y 20 segundos.</p>
<p>Otras cosas que consumen bastante batería son las transferencias largas de datos. Veamos el ejemplo de descargar una canción de 6MB:</p>
<ul>
<li><strong>EDGE </strong>(90 kbps): 300 mA * 9,1 minutos = <strong>45 mAh</strong></li>
<li><strong>3G </strong>(300 kbps): 210 mA * 2,7 minutos = <strong>9,5 mAh</strong></li>
<li><strong>WIFI </strong>(1 Mbps): 330 mA * 48 segundos = <strong>4,4 mAh</strong></li>
</ul>
<p>Sacad vuestras propias conclusiones. En este caso, la tarea que menos batería gasta es la que antes finaliza.<br />
(Los valores de consumo son distindos debido a que aquí se está incluyendo el gasto de CPU.)</p>
<p>También se consume bastante batería cuando el movil cambia de celda telefónica (por decirlo fácil: de antena) debido a que el módulo de Radio debe realizar tareas de asociación con la nueva celda, además de todos los eventos (BroadcastIntents) que se generan en base a esto y que pueden despertar la ejecución de otras aplicaciones.</p>
<p>Para terminar, señalar que parsear XML es bastante costoso, así como utilizar expresiones regulares sin JIT (la máquina virtual dalvik todavía no lo soporta)</p>
<p>Veamos a continuación varios consejos para mejorar nuestra aplicación y conseguir que genere menor gasto.</p>
<h2>Redes</h2>
<p>Como hemos visto anteriormente, tenemos que intentar minimizar el gasto a la hora de descargar datos de la red. ¿Cómo?</p>
<h4>Esperar a una conexión 3G o WIFI</h4>
<p>Es mucho mejor disminuir el tiempo de descarga de los datos, así el gasto de batería nos saldrá más barato. Además, podemos hacer una aplicación inteligente que no consuma datos en caso de estar usando una conexión de datos movil en roaming, estableciendo esta acción en su menú de configuración correspondiente.</p>
<p>Veamos el código para hacerlo:</p>
<p>Lo primero es comprobar que hay conexión y que, en caso de ejecutarse este código en un servicio, comprobar que el usuario tiene activada la descarga en background en el menú de Ajustes de sincronización de datos (Esto es nuevo en Android 1.5 Cupcake). Todos los servicios de Google para Android comprueban este valor de configuración antes de utilizar una conexión de datos en background, así que tu aplicación también debería comprobarlo y actuar en consecuencia.</p>
<table border="1" cellspacing="0" width="636" height="25" bordercolor="#888888">
<tbody>
<tr>
<td><span style="font-size: x-small;">ConnectivityManager  mConnectivity;<br />
TelephonyManager mTelephony;</p>
<p>NetworkInfo info = mConnectivity.getActiveNetworkInfo();<br />
if (info == null || !mConnectivity.getBackgroundDataSetting()) return false;</span></td>
</tr>
</tbody>
</table>
<p>Antes de utilizar la conexión de datos, comprobamos el tipo, y en caso de que sea 3G, que no estemos en roaming.</p>
<table border="1" cellspacing="0" width="637" height="43" bordercolor="#888888">
<tbody>
<tr>
<td>// Sólo conectar si hay WIFI o 3G (sin roaming)<br />
int netType = info.getType();<br />
int netSubtype = info.getSubtype();</p>
<p>if (netType == ConnectivityManager.TYPE_WIFI) {<br />
    return info.isConnected();<br />
} else if (netType == ConnectivityManager.TYPE_MOBILE<br />
            &amp;&amp; netSubtype == TelephonyManager.NETWORK_TYPE_UMTS<br />
            &amp;&amp; !mTelephony.isNetworkRoaming()) {<br />
    return info.isConnected();<br />
} else {<br />
    return false;<br />
}</td>
</tr>
</tbody>
</table>
<p>Como consejo, si estamos desarrollando una aplicación que necesita, por ejemplo, subir un vídeo, o un elemento pesado podemos postponer la carga hasta que el teléfono se encuentre en una red 3G o WIFI. Lo normal sería que no hubiera actuación por parte del usuario final, aunque tampoco es malo avisar al usuario de que realizar esa acción consumirá muchísima batería y preguntar si realmente quiere continuar con el proceso de envío.</p>
<h4>Utilizar un analizador de datos eficiente</h4>
<p>Analizar datos es una tarea bastante común para una aplicación que necesita alimentarse de datos descargados de Internet. Esta tarea requiere un mayor gasto de batería en base al tipo de analizador y al formato de los datos a analizar (XML, JSON, &#8230;)</p>
<p>Tenemos dos tipos de analizadores:</p>
<ul>
<li><strong>Analizadores de árboles</strong>. Cargan el documento por completo en memoria manteniendo una estructura en arbol, generan mucha basura que luego el sistema operativo tiene que limpiar, con el consecuente gasto extra de batería. Para realizar esta tarea, hay que analizar uno a uno todos los elementos e ir generando paralelamente la estructura de datos en memoria. Una vez finalizado el análisis el acceso a los elementos en memoria es relativamente rápido, pero&#8230; ¿Merece la pena tanto gasto?</li>
<li><strong>Analizadores &#8220;al vuelo&#8221;</strong>. Involucran al programador en el proceso de análisis mediante callbacks. Por ejemplo: &#8220;Se ha encontrado el inicio del documento&#8221;, &#8220;tag XXX encontrado con los atributos&#8230;&#8221;. De esta forma, el proceso de análisis puede ser bastante eficiente, ya que sólo se procesan los datos que se necesitan.</li>
</ul>
<p>Veamos los formatos de datos:</p>
<ul>
<li><strong>XML</strong>. Formato para el intercambio de datos bastante popular en Internet que en dispositivos móviles puede llegar a ser un problema.</li>
<li><strong>JSON</strong>. Bastante útil cuando el receptor de esos datos es un motor de Javascript.</li>
<li><strong>Protobuf</strong>. Formato de datos binario desarrollado y utilizado por Google. Al ser binario hay muchísima menor sobrecarga añadida a los datos a enviar/recibir.</li>
</ul>
<p>¿Qué hacer para ahorrar energía? Utilizar un analizador de datos y un formato de datos eficiente.</p>
<div><a href="http://code.google.com/intl/es-ES/events/io/sessions/CodingLifeBatteryLife.html"><img src="http://knol.google.com/k/-/-/yf7xkfmg7vie/pb9jrw/analizadores.png" border="0" alt="" width="420" height="239" /></a><br />
<span style="font-size: x-small;"><br />
Tiempos obtenidos descargando y analizando un RSS de 6 elementos repetidamente durante 60 segundos y haciendo una media.</span></div>
<p>Datos clave:</p>
<ul>
<li>Utilizar analizadore &#8220;al vuelo&#8221; en vez de analizadores de árboles. Por ejemplo, para JSON tenemos el analizador Jackson.</li>
<li>Tener en cuenta los formatos binarios que pueden facilmente mezclar datos binarios y texto en una sola petición. En la aplicación &#8220;Market&#8221; se puede ver cómo los iconos de las aplicaciones se van cargando en grupos. Esto es debido a que se unen varias peticiones de imágenes en una sola petición que será la que se haga al servidor, y en cuya respuesta tendremos todas las imágenes solicitadas. (En una sóla respuesta)</li>
<li>Como hemos visto en el ejemplo del &#8220;Market&#8221; del punto anterior, utilizando formatos binarios reducimos el número de peticiones que se realicen al servidor, y esto se nota en el consumo de energía.</li>
</ul>
<h4>Utilizar GZIP para texto</h4>
<p>Se trata de que el servidor comprima los datos de texto antes de enviarlos al cliente, de esta forma, se reduce sustancialmente el tamaño de datos a descargar y el tiempo de obtención de los mismos. Esto se utiliza en la actualizada en muchos navegadores Web que aceptan recibir las páginas comprimidas.</p>
<p>En Android, la librería GZIP es muy eficiente ya que la descompresión se ejecuta mediante código nativo y es bastante rápida.</p>
<p>Vamos a suponer que en el siguiente código hacemos una petición Web y obtenemos una respuesta comprimida en GZIP.</p>
<table border="1" cellspacing="0" width="637" height="23" bordercolor="#888888">
<tbody>
<tr>
<td>import java.util.zip.GZIPInputStream;</p>
<p>HttpGet request = new HttpGet(&#8220;http://example.com/contenidogzip&#8221;);<br />
HttpResponse resp = new DefaultHttpClient().execute(request);<br />
HttpEntity entity = resp.getEntity();<br />
InputStream compressed = entity.getContent();</td>
</tr>
</tbody>
</table>
<p>Sólo necesitamos añadir la siguiente línea para trabajar con un InputStream, esta vez, con datos descomprimidos.</p>
<table border="1" cellspacing="0" width="636" height="23" bordercolor="#888888">
<tbody>
<tr>
<td>InputStream rawData = new GZIPInputStream(compressed);</td>
</tr>
</tbody>
</table>
<p>¿Cuanto mejoramos al trabajar con datos de texto comprimidos?<br />
<a href="http://knol.google.com/k/juan-de-dios-maldonado-snchez/android-programando-para-la-vida-de-la/yf7xkfmg7vie/goog_1247081608557"><br />
</a></p>
<div><a href="http://code.google.com/intl/es-ES/events/io/sessions/CodingLifeBatteryLife.html"><img src="http://knol.google.com/k/-/-/yf7xkfmg7vie/pb9jrw/gzip.png" border="0" alt="" width="420" height="307" /></a></p>
<p>Tiempos medidos en múltiples pruebas descargando un RSS de 1800 elementos de texto. El valor que hay entre paréntesis al lado de GZIP es el nivel de compresión, siendo 1 el más bajo y 9 el más alto.</p></div>
<p>Como se observa en la gráfica, con una conexión rápida casi ni se nota la diferencia entre contenido comprimido o no. Ahora bien, cuando entramos en las conexiones móviles ya empezamos a encontrar una gran diferencia, sobre todo usando EDGE. Como todos ya sabemos, aunque el gasto energético de una conexión EDGE sea inferior a una conexión WIFI, el estar mucho más tiempo descargando/enviando contenido implica un gasto muchísimo mayor.</p>
<h2>Aplicaciones en primer plano</h2>
<p>Vamos a ver qué podemos hacer con las aplicaciones con las que el usuario interactúa activamente.</p>
<h4>WakeLocks</h4>
<p>Las aplicaciones de Android pueden hacer que el algun elemento del dispositivo permanezca activo. Para hacer esto podemos obtener un WakeLock del nivel que necesitemos y cuando terminemos, lo liberamos.</p>
<p>Hay varios niveles de WakeLock que fuerzan el estado activo de los siguiente elementos:</p>
<ul>
<li>La CPU.</li>
<li>La pantalla.</li>
<li>La luz del teclado.</li>
</ul>
<p>No se deben adquirir WakeLock a menos que realmente lo necesitemos. Hay que utilizar el nivel más bajo posible y asegurarlos de que lo liberamos tan pronto como podamos. Si no lo hacemos, Android pensará que estamos utilizándolo y estaremos consumiendo mucha batería.</p>
<p>Tenemos dos formas de hacer esta tarea correctamente:</p>
<ol>
<li>Utilizar el atributo android:keepScreenOn=&#8221;true&#8221; en el Layout de nuestra actividad. De esta forma, mientras se esté visualizando esta actividad la pantalla permanecerá encendida y cuando dejemos de verla porque pasamos a otra actividad o la cerremos, Android lo liberará automaticamente.</li>
<li>En el caso de un WakeLock para mantener activa la CPU, si conocemos cuanto tiempo necesitaremos (el peor caso) ese WakeLock activo para realizar alguna tarea de procesamiento (como parsear un XML) lo iniciaremos indicando ese tiempo de tal modo que Android lo liberará si ve que ha pasado el tiempo establecido y no ha sido liberado.</li>
</ol>
<h4>Reciclar objetos de Java</h4>
<p>Otra forma que tenemos de ahorrar batería es reciclando objetos de Java, especialmente los complejos que gestionan búfers en memoria.</p>
<p>Todos sabemos que Android tiene un recolector de basura, pero cuanto menos basura se genere, mayor será el ahorro de energía.</p>
<p>Para reciclar algunos objetos, podemos utilizar clases del Framework de Android que nos ayuden a realizar esta tarea. Por ejemplo:</p>
<ul>
<li>Si creamos y destruimos bastantes objetos (que no deberíamos) XmlPullParse o Bitmap, podemos usar las clases XmlPullParserFactory o BitmapFactory que mejorarán la eficiencia de este proceso.</li>
</ul>
<ul>
<li>Si utilizamos expresiones regulares, podemos reciclar el objeto Matcher usando: Matcher.reset(newString)</li>
<li>Si utilizamos un StringBuilder, podemos reciclarlo (para volver a utilizarlo) mediante: StringBuilder.setLength(0)</li>
</ul>
<p>Ya que la interfaz de usuario corre en un sólo hilo, podemos compartir objetos entre los métodos (de los eventos ocurridos en la interfaz) sin riesgo a tener problemas de sincronización.</p>
<p>En un ListView se utilizan muchas estrategias de reciclado de objetos.</p>
<h4>Utilizar localización por red telefónica</h4>
<p>Es mucho más barato que utilizar localización por GPS. Los tiempos de inicialización del GPS pueden variar mucho dependiendo del entorno en el que nos encontremos, por ejemplo, si estamos en un campo abierto la sincronización con los satélites puede tardar unos segundos, mientras que si estamos en un sitio cerrado puede llegar a no ocurrir nunca y todo el tiempo que tenemos el GPS activado estamos malgastando batería.</p>
<p>De media, estos son los tiempos de inicio:</p></div>
<div>
<ul>
<li>GPS: 25 segundos * 140 mA = 1 mAh</li>
<li>Red: 2 segundos * 180 mA = 0.2 mAh</li>
</ul>
<p>En Android 1.5 se utiliza AGPS cuando hay red disponible para reducir el tiempo de arranque del GPS. ¿Cómo? En vez de estar atento a recibir la señal de posición de cada satélite, que puede tardar hasta dos minutos, en base a la posición obtenida de la Red, realiza una petición por Internet para conocer la información de los satélites necesaria en vez de tener que esperar a recogerla toda.</p>
<p>El tiempo de sincronización del GPS con los satélites varía dependiendo del entorno y de la precisión que queramos. Con el GPS ocurre igual que con los wake-locks, las actualizaciones de posición pueden continuar después del onPause(), así que asegúrate de detenerlas.</p>
<p>Si todas las aplicaciones dejaran de utilizar los recursos correctamente, como en el caso del GPS, los usuarios lo podrían dejar activado en los ajustes del teléfono.</p>
<h4>Utilizar aritmética con número reales (decimales, en punto flotante) sale caro</h4>
<p>Los dispositivos actuales no tienen unidad de punto flotante en sus CPUs, de tal forma que hacer operaciones en punto flotante es caro. Si trabajaste con un MapActivity o MapView habrás visto algo llamado GeoPoint. Es como la latitud y longitud, que son número decimales, solo que están multiplicados por 10, de tal forma que podemos tratarlos como números enteros que ya son más baratos para trabajar en el dispositivo.</p>
<table border="1" cellspacing="0" width="635" height="24" bordercolor="#888888">
<tbody>
<tr>
<td> // Geopoint devuelve el valor 37392778, -122041944<br />
double lat = GeoPoint.getLatitudeE6() / 1E6;<br />
double lon = GeoPoint.getLongitudeE6() / 1E6;</td>
</tr>
</tbody>
</table>
<p>Cachear valores cuando se realiza trabajo DPI con DisplayMetrics. Si trabajas en tu propia View, no necesitas preocuparte a la hora de escalar a diferentes densidades de dispositivos. Un dispositivo puede tener una pantalla de mayor densidad y esta densidad estar representada por un número real. Si escribes tu propia View, puedes precachearla.</p>
<table border="1" cellspacing="0" width="636" height="23" bordercolor="#888888">
<tbody>
<tr>
<td>float density = getResources().getDisplayMetrics(). density;<br />
int actualWidth = (int)(bitmap.getWidth() * density);</td>
</tr>
</tbody>
</table>
<h4>Sensores</h4>
<p>Si vas a trabajar con el acelerómetro o sensores para juegos, hay cuatro tasas distintas:</p></div>
<div>
<ul>
<li>Normal: 10 mA (Utilizada para detección de orientación)</li>
<li>Interfaz de usuario (UI): 15 mA (Se comprueba el sensor una vez por segundo)</li>
<li>Juego (Game): 80 mA</li>
<li>Muy rápido (Fastest): 90 mA</li>
</ul>
<p>El mismo coste para el sensor del acelerómetro, magnético y de orientación.</p></div>
<div>
<h2>Aplicaciones en background</h2>
<p>Vamos a hablar de servicios en general. Si vienes de UNIX o Windows, cuando pensamos en un servicio, pensamos en algo que iniciamos de fondo y continúa ejecutándose, casi como un demonio (daemon) esperando a que llegue alguna petición. Se ejecuta todo el tiempo. Esto funciona muy bien en el mundo del escritorio, pero en el mundo movil, cada uno de estos procesos tienen una sobrecarga asociada. Veamos por ejemplo, algunos dispositivos que primero salieron, por ejemplo, el HTC Dream. Cuando el sistema inicia tenemos una determinada cantidad de RAM en el sistema. Una parte se la queda el Kernel, otra el Framework. Cuando finalmente termina de iniciar, nos queda para las aplicaciones unos 30 o 40 megabytes de RAM. Una cosa que hay que tener en cuenta es que cada proceso en el dispositivo, por muy poco código que tenga, utilizará unos 2 megabytes de RAM sólo para iniciarse, sin tener en cuenta la memoria que pueda necesitar según las tareas que realice.</p>
<p>Si tienes un servicio que se ejecuta de fondo constantemente el sistema terminará matándolo si el usuario está realizando alguna tarea, como por ejemplo, navegando por Internet y el navegador requiera más memoria. Una vez esta memoria quede libre, volverá a iniciar los servicios eliminados para que continúen realizando su trabajo. Y aquí tenemos otra sobrecarga a la hora de tener que detener e iniciar el servicio.</p>
<p>Nos hacemos la siguiente pregunta. Si no podemos tener nuestro proceso ejecutándose siempre de fondo, si no podemos utilizar el modelo de servicio (Windows) / demonio (UNIX), que funcionan bien en escritorio. ¿Cómo debería escribir servicios?</p>
<p>Hay dos métodos primarios que podemos utilizar:</p>
<ul>
<li>Si tenemos un punto definido en el futuro en el que necesitemos despertar a nuestro servicio, digamos, actualizar un RSS cada 15 minutos o media hora, podemos especificar una alarma para que el sistema nos despierte y realicemos la tarea en ese punto futuro.</li>
</ul>
<ul>
<li>Otro método es utilizar un receptor de señales, de tal forma que funcionemos en base a eventos. Por ejemplo, si el usuario pasa de una red EDGE a una 3G, cualquier aplicación podrá recibir esta notificación y realizar una tarea pertinente. No hay que olvidarse de deshabilitar la escucha de eventos una vez que ya no estemos interesados en ellos.</li>
</ul>
<p>Una vez realizada la tarea, asegúrate de llamar a stopSelf para indicarlo, de tal forma que el sistema pueda matar a tu proceso.</p>
<p>En Android 1.5 se añadió setInexactRepeating() para especificar alarmas. Si realmente no nos importa adelantarnos o atrasar la ejecución establecida en un periodo de tiempo, podemos utilizar setInexactRepeating() de tal forma que Android intentará agrupar la ejecución de todas las aplicaciones que pueda en un momento exacto de tiempo. De esta forma, evitamos tener que despertar el dispositivo cada vez que una aplicación tenga que realizar una tarea.</p>
<p>Una buena costumbre sería comprobar el estado de la batería antes de realizar alguna tarea bastante costosa, de tal forma que si queda poca, no haremos nada. A esto se llama programar aplicaciones inteligentes.</p>
<h2>Más allá de Android 1.5</h2>
<p>Android 1.5 mantiene un historial del consumo de recursos del dispositivo que realizan las aplicaciones: CPU, red, wake-locks&#8230; En versiones posteriores, se le dará la opción a los usuarios de conocer qué aplicaciones tiene instaladas que más consumo realizan de batería, de tal forma que sea decisión del usuario continuar utilizándola o desinstalársela. (Es una forma de obligar a los desarrolladores a programar aplicaciones con consumo eficiente de batería)</p>
<p>En la versión 1.5 podemos acceder a una aplicación muy básica oculta, debido a que es simplemente para ver que realmente se están recogiendo esos datos, escribiendo lo siguiente dentro del cuadro para marcar un número de teléfono:</p>
<div><strong><span style="font-size: medium;">*#*#4636#*#*</span></strong></div>
<p>Considera realizar aplicaciones flexibles, de tal forma que si tiene que actualizar información usando Internet, dejar al usuario poder configurar cada cuanto tiempo quiere que se realice esta actualización. De esta forma, le estarás dando al usuario una posibilidad de controlar el gasto de batería que tu aplicación realice.</p>
<p>A modo de resumen, veamos los puntos más importantes:</p>
<ul>
<li>Utilizar un analizador eficiente y GZIP para realizar un mejor uso de la red y de CPU.</li>
<li>Los servicios que duermen y consultan son malos, en vez de esto, utiliza &lt;receiver&gt; y AlarmManager.
<ul>
<li>Desactiva los elementos del manifest cuando no sea necesario seguir utilizándolos.</li>
<li>Despiértate junto con las demás aplicaciones (alarmas inexactas).</li>
</ul>
</li>
<li>Espera a un estado de batería y de red lo suficientemente buenos antes de realizar alguna tarea bastante costosa en batería o red.</li>
<li>Dar opción a los usuarios sobre el comportamiento de fondo de una aplicación.</li>
</ul>
<h2>Enlaces</h2>
<p><a href="http://code.google.com/intl/es-ES/events/io/sessions/CodingLifeBatteryLife.html">Google I/O &#8211; Coding for Life &#8212; Battery Life, That Is [video]</a><br />
<a href="http://dl.google.com/io/2009/pres/W_0300_CodingforLife-BatteryLifeThatIs.pdf">Descargar transparencias de la conferencia [pdf]</a></p>
<p><a href="http://www.desarrolladores-android.com/">http://www.desarrolladores-android.com</a><br />
<a href="http://www.android-spa.com/">http://www.android-spa.com</a></div>
<div><strong>Articulo Original: <a href="http://knol.google.com/k/android-programando-para-la-vida-de-la-bater%C3%ADa">http://knol.google.com/k/android-programando-para-la-vida-de-la-bater%C3%ADa</a>#</strong></div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gatoelectronico.com.ar/2011/12/android-programando-para-la-vida-de-la-bateria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizar Android: Velocidad y Batería</title>
		<link>http://www.gatoelectronico.com.ar/2011/12/optimizar-android-velocidad-y-bateria/</link>
		<comments>http://www.gatoelectronico.com.ar/2011/12/optimizar-android-velocidad-y-bateria/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 14:37:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Articulos de interes]]></category>
		<category><![CDATA[Celulares]]></category>
		<category><![CDATA[Guias - Tutoriales]]></category>
		<category><![CDATA[Configuración]]></category>
		<category><![CDATA[Consejos]]></category>

		<guid isPermaLink="false">http://www.gatoelectronico.com.ar/?p=256</guid>
		<description><![CDATA[Si has llegado a este manual es porque te interesa conocer algunos detalles para conseguir que tu dispositivo Android sea más veloz o, por otro lado, que consuma menos batería y dure más. En la mayoría de las temáticas (y Android no iba a ser una excepción) siempre ha existido un conjunto de mitos o [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Si has llegado a este manual es porque te interesa conocer algunos detalles para conseguir que tu dispositivo <strong>Android</strong> sea más <strong>veloz</strong> o, por otro lado, que consuma menos <strong>batería</strong> y dure más.</p>
<div>
<p>En la mayoría de las temáticas (<em>y Android no iba a ser una excepción</em>) siempre ha existido un conjunto de mitos o «<em>leyendas urbanas</em>» que se refuerzan poco a poco y que no se frenan como debería haberse hecho. Por ejemplo, el famoso <a href="http://www.emezeta.com/articulos/pilas-recargables-efecto-memoria">efecto memoria</a> de las pilas o baterías recargables.</p>
</div>
<p>El objetivo de este artículo es dar una serie de <strong>10 consejos</strong> para optimizar la velocidad y/o el consumo de batería de nuestro dispositivo Android.<span id="more-256"></span></p>
<h3>1. No utilices Task-Killers</h3>
<p>Vamos con, probablemente, la <em>leyenda urbana</em> más extendida: la «<em>supuesta necesidad</em>» de utilizar un <strong>task-killer</strong> (<em>o gestor de tareas</em>) para matar aplicaciones que no estemos utilizando.</p>
<p>Al contrario que los sistemas de escritorio, Android funciona con un esquema ligeramente <strong>diferente</strong>. La intención es favorecer ciertos comportamientos usuales en este tipo de dispositivos a favor de un buen rendimiento y/o uso de la batería.</p>
<p>Las tareas realizadas en el sistema son categorizadas entre estos 5 tipos (<em>de mayor a menor importancia</em>):</p>
<div><a href="http://developer.android.com/guide/topics/fundamentals.html#proclife"><img src="http://z.emezeta.com/weblog/android/optimizar/procesos.png" border="0" alt="android procesos" /></a>Esquema de categoría de procesos en Android</div>
</div>
<div>
<ul>
<li><strong>Primer plano</strong>: La tarea se está realizando ahora mismo. (Ej: Revisar correo)</li>
<li><strong>Procesos visibles</strong>: Se visualiza la tarea en la pantalla. (Ej: Navegar por una página)</li>
<li><strong>Servicios</strong>: Procesos &#8220;pendientes&#8221; de alguna tarea. (Ej: Descargar un MP3&#8230;)</li>
<li><strong>Segundo plano</strong>: Una tarea interrumpida que puede ser reanudada, o no (Ej: Cliente de twitter o Gmail)</li>
<li><strong>Procesos vacíos</strong>: Una tarea que se supone finalizada, pero se mantiene porque puede utilizarse en breve (Ej: Market, Reloj)</li>
</ul>
</div>
<p>Una vez dicho esto, hay que aclarar que la creencia de que se necesita tener mucha memoria libre para que todo vaya más rápido es <strong>falsa</strong>. Se suele asociar como verdadera porque era el modelo que se utilizaba antiguamente, en sistemas de la época de Windows 98 o Windows XP.</p>
<p>Actualmente se tiende a seguir el principio <strong>Unused RAM is wasted RAM</strong> (<em>memoria no utilizada es memoria desperdiciada</em>), que es el modelo en uso en entornos GNU/Linux, Windows 7, y -como no- en <a href="http://forum.xda-developers.com/showthread.php?t=908987">nuestro caso</a>.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/unused-ram-wasted.png" alt="unused ram wasted ram" />«Memoria RAM no utilizada, memoria RAM desperdiciada&#8230;»</div>
<p>Por esta razón, Android utiliza casi el <strong>100%</strong> de la memoria RAM del teléfono (<em>dejando apenas unos MB libres</em>). Cuándo necesita memoria RAM para otras aplicaciones, simplemente empieza a <strong>liberar</strong> aplicaciones (<em>en orden inverso de la lista anterior</em>) hasta disponer de la cantidad que necesita.</p>
<p>El problema es que en dispositivos con un hardware muy ajustado (<em>un procesador muy lento, por ejemplo</em>) ese proceso de liberación puede demorarse y reflejar una lentitud considerable.</p>
<p>Sin embargo, demostremos que hay más problemas si usamos <strong>task-killers</strong>:</p>
<p><!-- more --></p>
<div>
<ul>
<li>Los task-killers automáticos (<em>que cierran todas las aplicaciones para conseguir más memoria libre</em>) son un peligro, puesto que pueden <strong>desactivar</strong> alarmas o tareas programadas y que nunca se lleguen a realizar, además de realizar un <strong>consumo excesivo</strong> de batería por la gestión y monitorización constante de procesos.</li>
<li>Al liberar aplicaciones, estamos haciendo un uso extra de proceso, lo cuál se reflejará en el consumo de <strong>batería</strong>.</li>
<li>Una vez liberada la memoria, Android volverá a continuar con su ciclo habitual de gestión de memoria, por lo que se volverán a cargar aplicaciones en memoria, convirtiendo en <strong>inútil el esfuerzo</strong> por mantener la RAM libre.</li>
</ul>
</div>
<p>Si quieres saber más sobre el consumo de batería en Android, desde un punto de vista más técnico, aconsejo la traducción de la conferencia de Jeffrey Sharkey (<em>Google I/O 2009</em>) <a href="http://knol.google.com/k/android-programando-para-la-vida-de-la-bater%C3%ADa">Programando para la vida</a>, de <strong>Juan de Dios</strong>. Muy recomendable, en serio.</p>
<h3>2. Haz overclocking (o underclocking)</h3>
<p>Una herramienta interesante para nuestros dispositivos Android es <a href="http://forum.xda-developers.com/showthread.php?t=505419">SetCPU</a>, una aplicación que permite, de una manera muy sencilla y totalmente cómoda, <a href="http://es.wikipedia.org/wiki/Overclock">overclockear</a> nuestro sistema, aumentando o reduciendo la potencia de nuestro procesador.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/setcpu.png" alt="android setcpu" />Ahorra energía y batería o aumenta velocidad y potencia</div>
<p>Como se ve en la imagen, se puede establecer un límite superior (<em>cuando más procesador se requiere</em>) y un límite inferior (<em>móvil en reposo</em>). Obviamente esto es un arma de doble filo, si aumentamos los valores, conseguiremos mayor velocidad, pero al precio de consumir más batería (<em>y viceversa</em>). También se pueden crear distintos perfiles que se activen automáticamente, dependiendo de diferentes eventos (<em>en carga, temperatura&#8230;</em>).</p>
<p>La aplicación es de pago (<em>1,99$</em>), aunque puede conseguirse de forma gratuita para usuarios del foro de <a href="http://forum.xda-developers.com/showthread.php?t=505419">XDA Developers</a>. Es necesario ser <strong>root</strong>.</p>
<h3>3. Vigila de cerca a tus aplicaciones</h3>
<p>Hemos dicho que <strong>matar procesos</strong> en Android es una mala idea, sin embargo, tampoco podemos descuidar las aplicaciones que utilizamos.</p>
<p>Algunas aplicaciones (<em>ya sea porque están mal desarrolladas, bugs o simples descuidos</em>) tienen un funcionamiento muy lento y pesado, y pueden llegar a colapsar nuestro dispositivo.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/watchdog-lite.png" alt="android watchdog lite" />Vigilalos bien, no te fies de ninguno de ellos&#8230;</div>
<p><a href="http://www.appbrain.com/app/watchdog-task-manager-lite/com.zomut.watchdoglite">Watchdog Lite</a> es un gestor y monitorizador de tareas, pero con un propósito muy especial: ayudarnos a detectar las aplicaciones que sobrepasan un <strong>umbral</strong> o tope de uso de procesador, lo que implicaría un posible malfuncionamiento o sobrecarga por parte de dicha aplicación.</p>
<p>Además, podemos ver en todo momento el porcentaje de uso de <strong>CPU</strong>, memoria consumida y tiempo activo de cada proceso del sistema.</p>
<p>La aplicación <strong>Watchdog Lite</strong> es gratuita, aunque también tiene una versión de pago (<em>3,49$</em>) con la posibilidad de llevar una lista negra o eliminar banners de publicidad.</p>
<h3>4. Elige un Launcher ligero y rápido</h3>
<p>Es muy común que los usuarios piensen que el «escritorio» o <strong>pantalla de inicio</strong> de nuestro Android (<em>donde vemos los widgets, iconos, etc&#8230;</em>) es un núcleo que permanece estático en el dispositivo, cuando en realidad no es más que una aplicación más (<em>que se activa al pulsar la tecla de Inicio</em>) llamada <strong>Launcher</strong> o <strong>Home</strong>.</p>
<p>Al ser una aplicación más, actúa como tal (<em>cargándose en memoria, siendo liberada si no está siendo utilizada, etc&#8230;</em>) y existe la posibilidad de reemplazarse por otros <strong>launchers</strong> que se adapten mejor a nuestras necesidades (<em>rápido, vistoso, simple&#8230;</em>). Más atrás, analizamos en Emezeta <a href="http://www.emezeta.com/articulos/android-11-launchers-gratuitos">11 launchers gratuitos para Android</a>.</p>
<div><img src="http://z.emezeta.com/weblog/android-launcher/launcher-pro.jpg" alt="android launcher pro" />Launcher Pro, mi launcher preferido para Android</div>
<p><a href="http://www.appbrain.com/app/launcherpro/com.fede.launcher">Launcher Pro</a> es mi Launcher preferido, puesto que posee varias opciones para optimizar al máximo su uso en dispositivos con un hardware justo.</p>
<p>Otro detalle importante es el de marcar la opción <strong>Menu</strong> / <strong>Preferences</strong> / <strong>General Settings</strong> / <strong>Keep in memory</strong>, que evitará que el Launcher se descargue de memoria para cargar otras aplicaciones, evitando esa molesta pantalla negra (<em>al pulsar el botón de inicio</em>) que a veces ocurre.</p>
<h3>5. Tipo de red</h3>
<p>La mayoría de los que utilizamos un dispositivo Android, utilizamos tarifas de datos y nos movemos entre redes <strong>2G</strong> o <strong>3G</strong>/<strong>HDSPA</strong>.</p>
<p>Android está diseñado para estar <strong>continuamente</strong> buscando una red con mejor cobertura, algo que sin duda es de agradecer, pero repercute en la <strong>vida de la batería</strong> y puede ser innecesario en algunas situaciones o determinados usuarios.</p>
<p>Es por eso, que si en la pantalla para realizar una llamada, tecleamos <tt>*#*#4636#*#*</tt>, nos aparecerá un menú de mantenimiento donde podemos realizar varios cambios. En el apartado <strong>Información del teléfono</strong>, en la parte inferior, hay una opción que nos pregunta nuestro <a href="http://www.google.ie/support/forum/p/android/thread?tid=6a327a95211ac789&amp;hl=en">tipo de red preferido</a>:</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/wcdma-gsm.png" alt="android wcdma gsm tipo red móvil" /></div>
<p>Las opciones que nos interesan son las 4 primeras, puesto que las relativas a <a href="http://es.wikipedia.org/wiki/Acceso_m%C3%BAltiple_por_divisi%C3%B3n_de_c%C3%B3digo">CDMA</a> (<em>el resto</em>) no son aplicables en España.</p>
<div>
<ul>
<li><strong>WCDMA preferred</strong>: Utiliza 2G y 3G. Aunque la señal sea débil, busca siempre la mejor forma de establecer conexión vía 3G.</li>
<li><strong>GSM only</strong>: Utiliza 2G. Si la señal es débil, no utiliza ninguna.</li>
<li><strong>WCDMA only</strong>: Utiliza 3G. Si la señal es débil, no utiliza ninguna.</li>
<li><strong>GSM auto (PRL)</strong>: Utiliza 2G y 3G. Si la señal es débil, usa 2G.</li>
</ul>
</div>
<p>Por defecto, la selección suele ser <strong>WCDMA preferred</strong>, donde buscamos la mayor velocidad posible a cualquier precio. Sin embargo, la <strong>GSM auto</strong> puede ser una buena estrategia para reducir esas búsquedas (<em>y gasto de batería</em>) a favor de sacrificar un poco la cobertura.</p>
<h3>6. Ajustar los límites de memoria</h3>
<p>Como vimos en el primer punto, los procesos son categorizados en 5 tipos. Y cada tipo tiene un límite de memoria asociado. Si la <strong>memoria libre</strong> del dispositivo es menor a ese límite, Android comienza a liberar aplicaciones de esa categoría.</p>
<p>Con <a href="http://www.appbrain.com/app/autokiller-memory-optimizer/com.rs.autokiller">Autokiller</a> podemos cambiar esos límites, efectuando liberaciones más (<em>o menos</em>) agresivas.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/autokiller.png" alt="android límites de memoria android" /></div>
<p>Como siempre, la idea de este sistema <strong>no es tener más memoria libre</strong>, sino hacer una descarga más inteligente y agresiva de los procesos en memoria, para evitar el «cuello de botella» que se podría producir en dispositivos con procesadores lentos.</p>
<p>Se recomienda no cambiar los primeros 3 parámetros (<em>aplicaciones más activas</em>), aunque es posible hacerlo. También existe una sexta categoría que son los <strong>proveedores de contenidos</strong> que no tienen ningún cliente asociado (<em>es decir, no están realizando tareas</em>).</p>
<p>Es necesario ser <strong>root</strong> para ajustar estas opciones.</p>
<h3>7. Uso excesivo de widgets</h3>
<p>Uno de los consejos más extendidos y escuchados ha sido este: <strong>no abuses de los widgets</strong>. Sin embargo, con esto no se quiere decir que no se utilicen. Su propósito es sencillo: utiliza los widgets para tareas cortas que realizas muy frecuentemente.</p>
<p>Por ejemplo, tareas <strong>frecuentes</strong> como mirar <strong>el tiempo</strong> antes de ir a trabajar podría ser un uso aceptable. Pero&#8230; ¿Merece la pena utilizar un widget de <strong>reproducción de MP3</strong> si sólo lo utilizamos ocasionalmente?</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/exceso-widgets.png" alt="android exceso widgets" />La virtud es el punto medio entre un<br />
escritorio sin widgets y otro lleno de ellos (Aristóteles)</div>
<p>También es muy importante saber que los widgets que se actualizan muy frecuentemente (<em>o que están mal desarrollados</em>) pueden consumir muchos recursos y desestabilizar nuestro dispositivo.</p>
<h3>8. Controla la energía</h3>
<p>Otro aspecto lógico e importante que se suele mencionar siempre como <a href="http://www.emezeta.com/articulos/15-consejos-esenciales-para-android">consejos iniciales de Android</a>, es que debe <strong>deshabilitarse lo que no se utilice</strong>.</p>
<p>En principio, no debería haber problema en tener el <strong>GPS</strong> o el <strong>Bluetooth</strong> activo, ya que si no se está utilizando desde alguna aplicación, no consumiría batería. Sin embargo, muchas aplicaciones crean servicios o proveedores de contenido que se despiertan y hacen uso si está disponible (<em>el mismo Google Maps para actualizar tu posición</em>).</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/control-energia.png" alt="android control energía wifi 3g 2g hdspa bluetooth gps gprs brillo sincronización" />No por mucho conectar, amanece más temprano&#8230;</div>
<p>Por eso, el widget <strong>Control de Energía</strong> es algo indispensable para desactivar y mantener una conectividad que sólo estemos utilizando. Existen algunos otros widgets como <a href="http://www.appbrain.com/app/widgetsoid2-x/com.jim2">WidgetSoid</a> o <a href="http://www.appbrain.com/app/extended-controls/com.extendedcontrols">Extended Controls</a> (<em>0,99$</em>), que permiten incluir y personalizar más opciones que las 5 básicas de Android.</p>
<p>También hay aplicaciones que podrían ser interesantes para algunas personas, ya que permiten programar la deshabilitación/habilitación de ciertas características (<em>en ciertos horarios, ante ciertos eventos, etc&#8230;</em>) como <a href="http://www.appbrain.com/app/data-on-demand/at.hyde.dod">Data on Demand</a>, <a href="http://www.appbrain.com/app/netschedule/com.tomatox.netschedule">NetSchedule</a>, <a href="http://www.appbrain.com/app/juicedefender-battery-saver/com.latedroid.juicedefender">JuiceDefender</a>, <a href="http://www.appbrain.com/app/network-switcher/com.smartandroiddesigns.networkswitcher">Network Switcher</a> o <a href="http://www.appbrain.com/app/locale/com.twofortyfouram.locale">Locale</a> (<em>9,99$</em>).</p>
<h3>9. Vigila las aplicaciones al iniciar el teléfono</h3>
<p>Al instalar aplicaciones, muchas se configuran para arrancarse al encender el dispositivo. Esto es útil y lógico en algunos casos (<em>alarmas programadas, comprobaciones periódicas&#8230;</em>) pero también es ilógico en otros casos (<em>programas para descargar música, etc&#8230;</em>).</p>
<p>Lo ideal sería que cada aplicación tuviera un sistema para desactivar su arranque como servicio o en el inicio del teléfono, pero como esto muchas veces no es posible, existe una aplicación llamada <a href="http://www.appbrain.com/app/autorun-manager/com.rs.autorun">Autorun Manager</a>.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/autorun-manager.png" alt="android autorun manager servicios inicio start" /></div>
<p>Esta aplicación permite retirar los programas que se inician automáticamente, e incluso examinar los «<a href="http://developer.android.com/guide/topics/manifest/receiver-element.html">receivers</a>» que tienen programados, por si tenemos curiosidad por saber que hacen. Esta opción requiere <strong>root</strong> para funcionar.</p>
<h3>10. Revisa tu Hardware y Software</h3>
<p>Es bueno conocer las especificaciones del hardware de nuestro dispositivo (<em>sobretodo cantidad de memoria RAM, tipo y velocidad del procesador</em>). No fiarse de especificaciones no oficiales (<em>muchos proveedores o vendedores no dan toda la información</em>) e investigar un poco antes de adquirir un teléfono sin saber sus prestaciones.</p>
<div><img src="http://z.emezeta.com/weblog/android/optimizar/android-rom.jpg" alt="android rom software root" /></div>
<p>Es muy común que ciertos fabricantes no actualicen a las últimas versiones de <a href="http://www.emezeta.com/articulos/logotipo-de-android-y-honeycomb-en-css">Android</a> para sus dispositivos, pero por suerte, en Internet hay cientos de lugares donde varias personas se dedican a crear <strong>ROMs</strong> (<em>versiones no oficiales</em>) donde a parte de llevarnos las últimas versiones de Android a nuestros dispositivos, incorporan nuevas características, mejoras, aplicaciones integradas o cambios de diseño.</p>
<p>Para ello es necesario ser <strong>root</strong> (<em>o comprar uno ya rooteado en <a href="http://www.geeksphone.com/es/">Geeksphone</a></em>). Hay grandes comunidades con mucha información sobre Android, root, ROMs y todo tipo de hacks, como <a href="http://forum.xda-developers.com/filter.php?cat=Android">XDA Developers</a> (<em>en inglés</em>) o <a href="http://www.htcmania.com/forumdisplay.php?f=218">HTCManía</a>, ambas de las más extensas y activas que conozco.</p>
<p>Más información en <a href="http://www.emezeta.com/articulos/optimizar-android-velocidad-y-bateria#ixzz1gFQL2KW5">http://www.emezeta.com/articulos/optimizar-android-velocidad-y-bateria#ixzz1gFQL2KW5</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gatoelectronico.com.ar/2011/12/optimizar-android-velocidad-y-bateria/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trucos para Nokia 6131</title>
		<link>http://www.gatoelectronico.com.ar/2010/03/trucos-para-nokia-6131/</link>
		<comments>http://www.gatoelectronico.com.ar/2010/03/trucos-para-nokia-6131/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 17:07:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Articulos de interes]]></category>
		<category><![CDATA[Guias - Tutoriales]]></category>
		<category><![CDATA[Celulares]]></category>
		<category><![CDATA[Configuración]]></category>

		<guid isPermaLink="false">http://www.gatoelectronico.com.ar/?p=159</guid>
		<description><![CDATA[Aquí les dejamos algunos trucos para Nokia 6131 extraídos del blog emovilpro. Aquí la lista de trucos para Nokia 6131: Comprobar el IMEI (Internacional Mobile Equipment Identity): *#06# Ver la version del software: *#0000# ó *#6110# Comprobar si se puede detener el reloj de la tarjeta SIM: La detencion del reloj Sim es una especie [...]]]></description>
			<content:encoded><![CDATA[<p>Aquí les dejamos algunos <strong>trucos para Nokia 6131</strong> extraídos del <a style="border-bottom: 1px dotted; color: #3363a3; cursor: hand; text-decoration: underline;" onclick="hwClick0139526(undefined);return false;" onmouseover="hw0139526(event, this, 'undefined'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe('HOTWordsTitle'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://todoencelulares.net/2009/03/04/trucos-para-nokia-6131/#">blog</a> <a href="http://emovilpro.com/2009/03/04/trucos-celulares-nokia-6110/#more-1030" target="_blank">emovilpro</a>.</p>
<p style="text-align: center;"><a rel="attachment wp-att-3304" href="http://www.gatoelectronico.com.ar/?attachment_id=3304"><img class="alignnone size-full wp-image-3304" title="nokia-6131-nfc" src="http://todoencelulares.net/wp-content/uploads/2009/03/nokia-6131-nfc.jpg" alt="nokia-6131-nfc" width="371" height="460" /></a></p>
<p style="text-align: left;">Aquí la lista de <strong>trucos para Nokia 6131</strong>:<span id="more-159"></span></p>
<p><strong>Comprobar el IMEI (Internacional Mobile Equipment Identity):</strong><br />
*#06#</p>
<p><strong>Ver la version del software:</strong><br />
*#0000# ó *#6110#</p>
<p><strong>Comprobar si se puede detener el reloj de la tarjeta SIM:</strong></p>
<p>La detencion del reloj Sim es una especie de modo stand-by, que permitirá ahorrar tiempo de batería. Este código no funciona con la versión de software 4.59:<br />
#746025625# [#sim0clock#]</p>
<p><strong>Garantia:</strong><br />
*#92702689#[*#war0anty#]</p>
<p>Menú:<br />
1: Muestra el número de serie.<br />
2: Muestra el mes y año de fabricación (0997)<br />
3: Muestra (si existe) la fecha en que el teléfono fue comprado (MMYY) aquí se puede establecer la fecha de compra (Advertencia: Sólo puede hacer esto una vez – por lo que debe tener cuidado con lo que va a escribir …)<br />
4: Muestra la fecha de la última reparación – si existe (0000)<br />
5: La opción es para la transferencia de todos los datos del teléfono (de la memoria) a una “caja” para que el técnico pueda tocar el teléfono sin preocuparse por los datos almacenados en él. Lo que esté almacenado en la tarjeta SIM no se transfiere, pero ¿quién lleva su teléfono con la tarjeta SIM?</p>
<p><strong>Enhanced Full Rate Codec (EFR):</strong><br />
Activar: *3370# y reinicie el teléfono (consume más energía).<br />
Desactivar: #3370# y reinicie el teléfono.</p>
<p><strong>Half Rate Codec:</strong><br />
Activar: *4720# y reinicie el teléfono(mejora el tiempo de standby).<br />
Desctivar: #4720# y reinicie el teléfono</p>
<p><strong>Monitor de red:</strong><br />
Existe un menú oculto dentro de su teléfono Nokia. Si desea activarlo, tendrá que reprogramar algunos chips dentro del teléfono o de la manera más fácil utilizando el Software Pclocals y el cable MBUS.</p>
<p>Con la reprogramación:</p>
<p>1.Comprobar su versión de software. Sólo puede continuar si usted tiene v4.33, v4.73 o v5.24.<br />
2.Aparte el teléfono.<br />
3. Desuelde la EEPROM (ATMEL EN 24C64).<br />
4. Lea los datos con un programador EEPROM y guardelos en un archivo (copia de seguridad).<br />
5. Si usted tiene V.33 o v4.73, cambia la dirección “03B8″ de “00″ a “FF”.<br />
6. Si tiene v5.24 luego cambie la dirección “0378″ de “00″ a “FF”.<br />
7. Escriba los <a style="border-bottom: 1px dotted; color: #006600; cursor: hand; text-decoration: underline;" onclick="hwClick1139526(undefined);return false;" onmouseover="hw1139526(event, this, 'undefined'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe('HOTWordsTitle'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://todoencelulares.net/2009/03/04/trucos-para-nokia-6131/#">nuevos</a> datos en la EEPROM y sueldela en el teléfono.<br />
8. Encienda el teléfono y usted debe tener “Netmonitor” activado.</p>
<p>Con el Software Pclocals:</p>
<p>1. Usted necesitará un cable MBUS y Pclocals.zip.<br />
2. Después de la pantalla de bienvenida del programa, tendrá que configurar el puerto COM donde el cable está conectado.<br />
3. Después de “Inicializando conexión” elija “MR Memory Functions” y una vez que llege a este menú elija la opción 6.<br />
4. A continuación escriba 243 ad Field Test Display para activar el monitor de red completo o 241 para desactivarlo.</p>
<p>El Monitor de red le ofrece la siguiente información:<br />
Número de la portadora<br />
Nivel MS RX en la DBM<br />
Calidad de la señal recibida<br />
Nivel de potencia C1 MS TX (Criterio de pérdida en el camino, utilizado para la selección y reselección de celda). El rango es de -99 a 99.<br />
RTL (Radio link timeout).<br />
Horario<br />
Indicación de estado del transmisor<br />
Información sobre los parámetros de red.<br />
TMSI (Identitad suscriptora móvil temporal).<br />
Identificación de celda (identificador de celda, número de células están siendo utilizadas).<br />
MCC (código de país para móviles)<br />
MCN (código de red móvil)<br />
LAC (código de área de Región )<br />
Cifrado (On / Off)<br />
Saltos (On / Off)<br />
DTX (On / Off)<br />
Descartar información prohibida de células.</p>
<p><strong>El truco de la reinicialización:</strong><br />
Debe funcionar en todas las versiones de software.<br />
1. Ir a calendario (menú – <img class="wp-smiley" src="http://emovilpro.com/wp-includes/images/smilies/icon_cool.gif" alt="8)" /><br />
2. Hacer una nota / recordatorio<br />
3. Introduzca un texto en el cuadro de edición<br />
4. Mantenga la tecla Clear presionada hasta que se borre todo el texto y, a continuación, pulse Atrás<br />
5. Pulse 0. Aparece la pantalla principal se muestra, pero aparece un espacio, pero aparece en la misma. Usted no puede verlo, por supuesto.<br />
6. Introduce 4 dígitos (1234, por ejemplo)<br />
7. Usar la flecha hacia abajo para mover el cursor a la izquierda de los números y el espacio (2 veces flecha hacia abajo)<br />
8. Ahora entrará 6 dígitos y pulse el botón verde “Llamar”.</p>
<p>Espere unos segundos … ahora el teléfono parpadea la luz de fondo y, por último, reinicia el sistema. El truco también debería funcionar en otros menús como el menú de perfil …</p>
<p><strong>El truco de James Bond:</strong><br />
Si usted cortocircuita los pines de la mitad izquierda y derecha en la parte inferior del teléfono con todas las conexiones tocándose unas con otras, el software de Nokia se cuelga! El perfil “Auricular” se activará. Antes de hacer esto active la “Respuesta automática” en el perfil de auricular y ajuste el volumen del timbre en “Silencio”. Ahora usted puede utilizar su teléfono para comprobar qué hablan las personas en una habitación. Sólo tiene que colocar el teléfono bajo una mesa en una habitación llamar. El teléfono recibe la llamada sin sonar y usted puede escuchar lo que dice la gente.</p>
<p><strong>Bloqueo de proveedor de Servicios:</strong><br />
El bloqueo de proveedor de servicios (SP) se utiliza para bloquear el teléfono celular a la tarjeta SIM del proveedor de servicios. Una vez que el teléfono móvil está bloqueado a un determinado operador, si se inserta una tarjeta SIM de otro operador, el teléfono se negará a aceptarla! El teléfono celular, sin embargo, acepta cualquier otra tarjeta SIM del mismo operador.</p>
<p>Todos los teléfonos Nokia (2110 y versiones posteriores) tienen cuatro bloqueos SIM diferentes que pueden ser usados para bloquear el teléfono para un máximo de 4 proveedores diferentes. Pero la mayoría de los teléfonos con restricción sólo tienen un bloqueo activado. (Bloqueo 1)</p>
<p>El principal código utilizado en los teléfonos Nokia es:<br />
#pw+(master code)+Y#<br />
Este código puede comprobar, activar o quitar la restricción (SP-Lock) de la tarjeta Sim.<br />
Use la tecla * para obtener los caracteres p, + y W.<br />
‘Y’ tiene que ser 1,2,3 o 4 – dependiendo del bloqueo que se desea utilizar<br />
#pw+1234567890+1# para el estado de bloqueo de proveedor<br />
#pw+1234567890+2# para el estado de bloqueo de la red<br />
#pw+1234567890+3# para el estado de bloqueo de país<br />
#pw+1234567890+4# para el estado de bloqueo SimCard -</p>
<p># = DOBLE CRUZ<br />
W = PRESIONE “*” TRES VECES<br />
P = PRESIONE “*” cuatro veces<br />
+ = PRESIONE “*” dos veces<br />
MASTERCODE = 1234567890<br />
Y = NUMEROS 1 AL 4</p>
<p>(master code) es un código de 10 dígitos, basado en el número IMEI de teléfonos.</p>
<p>Por ejemplo. Para eliminar la restricción del bloqueo de 1 escriba el código siguiente:<br />
#pw+(master code)#1<br />
Si sólo desea comprobar su teléfono utilice 10 números aleatorios, por ejemplo, 1234567890 como código maestro<br />
Ejemplo: Para comprobar si el teléfono está Restringido en el bloqueo 1 introduzca el siguiente código:<br />
#pw+1234567890+1#</p>
<p>Pof favor, TENGA EN CUENTA que estos códigos DEBEN ser utilizados con cuidado! Dicen que sólo es posible utilizar 3 códigos diferentes en cada bloqueo! De ahí en adelante algo malo puede a pasar .. por lo tanto, TENGA CUIDADO!</p>
<p><strong>Truco del Botón de encendido:</strong><br />
Si pulsa el botón durante un breve momento, el menú con los perfiles se muestra en la pantalla. Si lo pulsa una vez más, el móvil se apaga. Puede utilizar el cursor hacia arriba y hacia abajo para desplazarse y habilitar un ajuste de alerta diferente.</p>
<p><strong>Truco del 54#:</strong><br />
Marque 1#, 2#…….. 54# en el teclado (sin estar en el menú) para obtener el número de teléfono utilizado cuando utiliza marcación rápida.</p>
<p><strong>Truco de SMS gratis:</strong></p>
<p>1ª forma:<br />
1. Apague el teléfono.<br />
2. Enciendalo e introduzca su PIN.<br />
3. Introduzca *#746025625#4. Ahora aparece “SIM CLOCK STOP ALLOWED” en la pantalla.<br />
Ahora puede enviar sms gratis. si apaga el teléfono y lo enciende más tarde tiene que volver a introducir este código!<br />
En algunas redes no funciona!</p>
<p>2ª forma:<br />
Ajuste Menú 4-3-3 en el grupo de usuarios 666 (trabaja con redes alemanas)</p>
<p><strong>Truco Llamadas gratis:</strong><br />
Este truco necesita el monitor de red habilitado. Tenga en cuenta que el truco eliminará el Netmonitor en algunas versiones como v4.73, v5.04 y v5.24.<br />
1. Poner en marcha el NetMonitor en el Nokia 51xx / 61xx<br />
2. Ejecutar la prueba número 497<br />
3. Puede realizar llamadas gratuitas durante unos 90 segundos.</p>
<p>Este truco no se ha confirmado si trabaja.</p>
<p><strong>Revelando los menús auriculares y Car-Kit:</strong><br />
Tenga en cuenta que si usted hace estos siguientes trucos, los <a style="border-bottom: 1px dotted; color: #006600; cursor: hand; text-decoration: underline;" onclick="hwClick1139526(undefined);return false;" onmouseover="hw1139526(event, this, 'undefined'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='solid';" onmouseout="hideMaybe('HOTWordsTitle'); this.style.cursor='hand'; this.style.textDecoration='underline'; this.style.borderBottom='dotted 1px'; " href="http://todoencelulares.net/2009/03/04/trucos-para-nokia-6131/#">nuevos</a> menús no se pueden borrar sin restaurar los valores predeterminados de fábrica. Para hacer estos trucos usted necesita corto circuitar los pines en la parte inferior del teléfono cerca de donde usted conecta el cargador.<br />
1. Para activar el menú “auricular”, cortocircuito los pines “3″ y “4″. Después de un corto tiempo la palabra “Auricular” se mostrará en la pantalla. Menú 3-6 está habilitado ahora.<br />
2. Para activar menú “Auto”, cortocircuite los pines “4″ y “5″. Después de un corto tiempo la palabra “Car” se mostrará en la pantalla. Menú 3-7 está habilitado ahora.</p>
<p><strong>Escritura rápida de SMS:</strong></p>
<p>Al escribir mensajes SMS, hay que esperar unos segundos antes de que usted puede escribir la siguiente letra si está en el mismo botón que la anterior. Por ejemplo, tratar de escribir la palabra “letter”, usted tiene que esperar antes de poder escribir la segunda “t” .. Una solución mucho más rápida es pulsar el botón # dos veces y luego la letra “t” o simplemente pulse el botón abajo una vez para seguir utilizando la misma tecla de letra.</p>
<p><a href="http://emovilpro.com/2009/03/04/trucos-celulares-nokia-6110/#more-1030">http://emovilpro.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gatoelectronico.com.ar/2010/03/trucos-para-nokia-6131/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Motorola V8 Instalar Skin en MotomagX (E8.V8,Z6,U9,ZN5,ETC)</title>
		<link>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-instalar-skin-en-motomagx-e8-v8z6u9zn5etc/</link>
		<comments>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-instalar-skin-en-motomagx-e8-v8z6u9zn5etc/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 05:16:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Guias - Tutoriales]]></category>
		<category><![CDATA[Celulares]]></category>
		<category><![CDATA[Configuración]]></category>

		<guid isPermaLink="false">http://www.gatoelectronico.com.ar/?p=144</guid>
		<description><![CDATA[Googleando encontre este Programa, en el cual instala skin en los MotomagX Programa creado por s5vi, de la pagina Oficial del creador http://www.el-co.hu/smf/index.php utilizar este software para instalar temas o skin con el firmware original. Descarga Como Instalar? 1º instalar Driver&#8217;s 2º Conecta en Telefono en Modo Tarjeta de memoria, en la pc detectara 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Googleando encontre este Programa, en el cual instala skin en los MotomagX</p>
<p>Programa creado por s5vi, de la pagina Oficial del creador <a href="http://www.el-co.hu/smf/index.php" target="_blank">http://www.el-co.hu/smf/index.php</a></p>
<p>utilizar este software para instalar temas o skin con el firmware original.</p>
<p><img id="ncode_imageresizer_container_1" src="http://motoevolution.net/storage_pic/image/Otros/fbae9cb82f.jpg" border="0" alt="" width="570" height="273" /></p>
<p><span style="font-size: medium;"><span style="color: #ff0000;"><span id="more-144"></span></span></span></p>
<p><a href="http://www.motoevolution.net/downloads.php?do=file&amp;id=261" target="_blank">Descarga</a></p>
<p><span style="font-size: medium;"><span style="color: #ff0000;"><strong>Como Instalar?</strong></span></span></p>
<p>1º instalar Driver&#8217;s<br />
2º Conecta en Telefono en Modo Tarjeta de memoria, en la pc detectara 2 discos, en cualquiera de las particiones (memoria del telefono ó tarjeta de memoria) en la raiz crear una carpeta llamada <strong>skin</strong></p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/9ca50420ce.PNG" border="0" alt="" /></p>
<p>3º luego copiar dentro de la carpeta skin la carpeta del skin a instalar con todos sus archivos, el iconres y los ini (ojo solo copiar)</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/7cbf7a65fa.PNG" border="0" alt="" /></p>
<p>4º expulsas las particiones y conecta el telefono en modo modem y luego abres el programa y selecionas upload skin, alli cargas el skin ya que en la particion colocaste una copia (ejm en este caso copie el skin en la tarjeta de memoria y deje una copia en el escritorio)</p>
<table id="ncode_imageresizer_warning_2" width="700">
<tbody>
<tr>
<td width="20"><img src="http://motoevolution.net/images/statusicon/wol_error.gif" border="0" alt="" width="16" height="16" /></td>
<td>Esta imagen ha sido redimensionada. Haga clic aqui para ver la imagen completa. La imagen original es de tamaño 852&#215;474 y peso 72KB.</td>
</tr>
</tbody>
</table>
<p><img id="ncode_imageresizer_container_2" src="http://motoevolution.net/storage_pic/image/Otros/a07f7b6ee9.PNG" border="0" alt="" width="700" height="389" /></p>
<p>5º luego el programa les pedira que si desean instalar el skin le dan en si.</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/1581f04a74.PNG" border="0" alt="" /></p>
<p>6º aqui es el problema, solo selecciona <strong>SI</strong>, si colocaste el skin en la tarjeta de memoria y selecciona <strong>NO</strong>, si colocaste el skin en la memoria del telefono (si haces lo contrario aparecera el tema en el celular pero no cargara el skin)</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/2c0e12fd9c.PNG" border="0" alt="" /></p>
<p>reinicia el telefono y listo skin cargado <img title="Big Grin" src="http://www.motoevolution.net/images/smilies/biggrin.gif" border="0" alt="" />, ah! me olvidaba si no funciona el programa hay que desactivar el firewall de windows</p>
<p>Espero les ayude&#8230;</p>
<p>Saludos</p>
<p>********************<br />
Tutorial creado por Paule<br />
Para Motoevolution.net<br />
********************</p>
<p><!-- / message --><!-- sig --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-instalar-skin-en-motomagx-e8-v8z6u9zn5etc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Motorola V8 Videos en formato .RM solo linux</title>
		<link>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-videos-en-formato-rm-solo-linux/</link>
		<comments>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-videos-en-formato-rm-solo-linux/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 05:12:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Guias - Tutoriales]]></category>
		<category><![CDATA[Celulares]]></category>

		<guid isPermaLink="false">http://www.gatoelectronico.com.ar/?p=140</guid>
		<description><![CDATA[Bueno para convertir a este formato vamos a usar el &#8220;Easy real media producer&#8221; que se lo pueden descargar de aqui: Mirror Megaupload Mirror 4Shared Con esto se van a instalar dos aplicaciones &#8220;Easy RealMedia ProducerV1.94&#8243; y &#8220;Easy RealMedia EditorV1.73&#8243;&#8230;ejecutamos el easy realmedia producer y le damos a &#8220;add&#8221; para agregar un video ahora seleccionamos [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno para convertir a este formato vamos a usar el &#8220;Easy real media producer&#8221; que se lo pueden descargar de aqui:</p>
<p><a href="http://www.megaupload.com/es/?d=8FS593VT" target="_blank"><strong><span style="text-decoration: underline;"><span style="color: #165aa8;">Mirror Megaupload</span></span></strong></a></p>
<p><a href="http://www.4shared.com/file/20919601/732fede/convertidor_realmedia.html" target="_blank"><strong><span style="text-decoration: underline;"><span style="color: #165aa8;">Mirror 4Shared</span></span></strong></a></p>
<p>Con esto se van a instalar dos aplicaciones &#8220;Easy RealMedia ProducerV1.94&#8243; y &#8220;Easy RealMedia EditorV1.73&#8243;&#8230;ejecutamos el easy realmedia producer y le damos a &#8220;add&#8221; para agregar un video<span id="more-140"></span></p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/8c50ebc9dd.png" border="0" alt="" /></p>
<p>ahora seleccionamos el video y le damos a &#8220;aceptar&#8221;</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/02e6a4be2a.png" border="0" alt="" /></p>
<p>ahora para ponerle los settings para que quede en buena calidad le damos a &#8220;settings&#8221;</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/4edc47644e.png" border="0" alt="" /></p>
<p>le ponemos los siguientes settings tal como muestra en la imagen y le damos a &#8220;ok&#8221;</p>
<p><img src="http://motoevolution.net/storage_pic/image/Otros/8facd50dfe.png" border="0" alt="" /></p>
<p>ahora solo le damos a &#8220;start&#8221;listo esperamos unos minutos y ya tenemos nuestro video convertido en formato real media listo para pasarlo al movil CON UNA CALIDAD MEJOR KE MP4: el video se guarda en la misma carpeta del video seleccionado bueno espero que le sea de su agrado ok</p>
<p>saludos!!!!</p>
<p><!-- / message --><!-- sig --></p>
<div>
<p><strong> </strong> </p>
<div id="post_message_1472">*********************<br />
Publicado por Yerald32<br />
Fuente Motorolitaweb.com<br />
*********************</div>
<p>__________________</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gatoelectronico.com.ar/2010/02/motorola-v8-videos-en-formato-rm-solo-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

