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

Respuesta
 
Herramientas
  #1  
Viejo 25/08/14, 01:22:55
Array

[xs_avatar]
manolazo manolazo no está en línea
Miembro del foro
 
Fecha de registro: jun 2012
Localización: Madrid
Mensajes: 219
Modelo de smartphone: Samsung Galaxy S7 edge
Tu operador: Pepephone
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   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 20:27:38 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /