Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 25/08/14, 01:22:55
Avatar de manolazo
manolazo manolazo no está en línea
Miembro del foro
Mensajes: 219
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
Mencionado: 1 comentarios
Tagged: 0 hilos
Calentamiento cpu relacionado con TimerTask() ??

Buenas.

Tengo una Activity en la cual hago mucho uso de la modificacion de views pasado un tiempo en milisegundos.

Para ello en su dia se me ocurrio usar TimerTask pero debido a que TimerTask actua como un Thread , hay que hacer uso o bien de un handler o bien de un AsyncTask con lo que opte por usar handlers. a(unque en vez de handlers tambien podria haber usado MyActivity.this.runOnUiThread(new Runnable(){ )

A lo que voy, que tengo la activity llena de sentencias de este tipo:

Ej:
Código:
new Timer().schedule(new TimerTask(){
			@Override
			public void run() {
				handler.post(new Runnable(){
					@Override
					public void run() {						
						setVistaDeInicio(true);		
					}					
				});
						
			}			
		}, 300);
Ej:

Código:
new Timer().schedule(new TimerTask() {
           new Thread() {
						@Override
						public void run() {
							while (j < (int) scoreSystem()) {
								try {
									Thread.sleep(matrizTimeThread[3]);
								} catch (InterruptedException e) {
									e.printStackTrace();
								}
								handler.post(new Runnable() {
									@Override
									public void run() {
										textPuntos.setText(String.valueOf(j));
									}
								});
								j += matrizTimeThread[2];
							}
							
							handler.post(new Runnable() {
								@Override
								public void run() {
									textPuntos.setText(String.format("%.2f",scoreSystem()));
								}
							});
						}

					}.start();
No se si el calemtamiento de la CPU del movil es debido a este tipo de Timers o si cambiar dichas sentencias por el uso de postDelayed:

Código:
handler.postDelayed(new Runnable(){
			@Override
			public void run() {
				activateGridlay(true);
				new HiloComienzoJuego().start();				
			}
			
		}, 500);
cambiaria las cosas y seria mas eficiente o daria lo mismo??. Ya digo que me da la impresion de que se calienta un poco o quizas son cosas mias .

Un saludo.
Responder Con Cita


Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 00:34:56 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007