La aplicación o la actividad lleva tiempo para cargarse algunas veces
He creado una actividad de inicio desde donde llamo otra actividad que tiene un paginador de vista y muestra algunas páginas introductorias.
Esta aplicación estaba tomando tiempo para cargar, así que pensé en mostrar un diálogo de progreso hasta que la actividad se carga, pero ese diálogo de progreso también aparece unos segundos más tarde.
- Para eventos de Android, ¿por qué las sentencias switch son más comunes que if-else?
- Fragmentos de Android y su influencia en el rendimiento
- Problema "La prueba del repositorio tiene un error" al intentar importar el proyecto de bitbucket al android studio
- Limitación del tamaño de la textura? Android Open GL ES 2.0
- ¿Qué capacidades de eliminación automática de overdraw Android proporciona?
Actividad de inicio:
public class StartUpActivity extends AppCompatActivity { boolean isUserFirstTime, login; public static String PREF_USER_FIRST_TIME; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); isUserFirstTime = Boolean.valueOf(Utils.readSharedSetting(StartUpActivity.this, PREF_USER_FIRST_TIME, "true")); Intent introIntent = new Intent(StartUpActivity.this, SlidingActivity.class); introIntent.putExtra(PREF_USER_FIRST_TIME, isUserFirstTime); ProgressDialog dialog = new ProgressDialog(StartUpActivity.this); dialog.setMessage("Welcome to Mea Vita, please wait till the app loads."); dialog.setCancelable(false); dialog.setInverseBackgroundForced(false); dialog.show(); new Handler().postDelayed(new Runnable() { @Override public void run() { //Here you can send the extras. startActivity(new Intent(StartUpActivity.this,SlidingActivity.class)); // close this activity finish(); } }, 4000); } }
Esto no sucede cada vez, sólo a veces. ¿Cuál puede ser la posible razón de esto? ¿Cómo puedo detener esto? ¿Alguna solución? Gracias..
- Mejores Prácticas de Android - Comunicación entre Actividad y Fragmentos
- Consejos para mejorar la tasa de llenado de OpenGL ES en Android
- Velocidad de inicio en startActivity
- Cómo lograr animaciones de transacciones de fragmentos suaves en Android
- Android personalizado listview muy lento al desplazarse
- Obtención de datos pesados lanza Ventana de cursor: La ventana está llena de error
- Es posible hacer SpeechRecognizer más rápido?
- ¿Por qué los pesos anidados son malos para el rendimiento? ¿Alternativas?
Hay un extraño problema con el nuevo Android Studio 2.0
(el mismo problema en 2.1) la primera vez que se inicia la aplicación tarda más de lo habitual (por ejemplo, 2, 3 segundos o, a veces parpadea o se vuelve negro) este problema sólo ocurre en el modo de depuración y no efecto su APK liberado.
Una solución temporal para corregir esto es desactivar instant run
:
Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run
En primer lugar, haga como regla para hacer todos los datos cargando en tareas asíncronas, debe comprobar la actividad que desea iniciar donde cargar datos.
El problema está en su segunda actividad. oncreate
método oncreate
debe usarse sólo para hacer findviews
o iniciar async tasks
, no cargar ninguna en oncreate
o en onstart
o onresume
. Probablemente está cargando imágenes de alta resolución en la presentación deslizante o cargando datos en ella.
Hay otra manera, cargar todos los datos en la tarea asíncrona en la primera actividad, luego con los datos listos iniciar la segunda actividad con los datos ya cargados.
Hay algunas cosas que pueden cargar lentamente.
- Android necesita leer su código de almacenamiento y cargar las clases en RAM.
- Supongo que
Utils.readSharedSetting(StartUpActivity.this, PREF_USER_FIRST_TIME, "true")
lee de preferencias. Es un archivo que está leyendo de forma sincrónica. - En realidad lanzar el diálogo toma una cantidad muy pequeña de tiempo.
Sugiero que muestre su carga dentro de la actividad misma para minimizar el trabajo necesario para procesarla.
Además, puede almacenar PREF_USER_FIRST_TIME
como un boolean
lugar de una String
.
- la importación com.badlogic.gdx.graphics.gl10 no se puede resolver
- ¿Cómo cambiar la imagen del botón de encendido a apagado y viceversa al hacer clic?