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.

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..

3 Solutions collect form web for “La aplicación o la actividad lleva tiempo para cargarse algunas veces”

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.

  1. Android necesita leer su código de almacenamiento y cargar las clases en RAM.
  2. Supongo que Utils.readSharedSetting(StartUpActivity.this, PREF_USER_FIRST_TIME, "true") lee de preferencias. Es un archivo que está leyendo de forma sincrónica.
  3. 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 .

  • Android - ¿Cómo puedo medir el rendimiento de ListView y otras vistas?
  • ¿Cómo obtener el contexto en el caso de prueba uiautomator?
  • ¿Robotium es confiable para probar cuán rápido comienzan las actividades y fragmentos?
  • Problema con la cámara personalizada de Android en algunos dispositivos
  • El menú deslizante de Android bloquea la interfaz de usuario
  • Práctica recomendada para mantener los datos en la memoria y la base de datos al mismo tiempo en Android
  • Limitación del tamaño de la textura? Android Open GL ES 2.0
  • ¿Importa en qué orden llamo finish () y startActivity ()?
  • ¿Cuál es la principal ventaja y la desventaja de "no mantener las actividades" en android
  • Explicitamente liberando Mat con opencv 2.0
  • ¿Cómo probar la función de sincronización de ejecución en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.