2015-06-05 166 views
1

我创建了一个新的应用程序,在启动时有几个后台操作。 如果没有其他应用程序正在运行,则需要5-6秒才能加载应用程序。 但是,如果打开其他应用程序,加载时间会更长,加载需要15-20秒...是否有人知道背后的原因?Android应用有时需要很长时间才能加载

+0

如果它们是非UI组件,是否考虑将它们推送到后台服务? –

+0

如果您使用的是虚拟设备,则最有可能取决于处理器,而您的电脑性能 – silverFoxA

回答

1

每个应用程序将会需要一段时间才能启动,但几秒钟似乎是一个很长一段时间,这取决于设备是多大。您应该尝试从UI线程中获取那些长时间运行的操作。

如果你没有做任何需要触摸UI,你可以尝试这样的事:

Runnable runnable = new Runnable() { 
     @Override 
     public void run() { 
      //Do your long-running operations here. 
     } 
    }; 

    new Thread(runnable).start(); 

或者,如果你需要做的事情,触摸UI组件,你可以使用AsyncTasks:

private class LongRunningTask extends AsyncTask<String, Integer, Long> { 
    protected Long doInBackground(String... data) { 
     //Do your long-running operations here. 
    } 

    protected void onPostExecute(Long result) { 
     //Update a UI element to show the results 
    } 
} 
相关问题