2013-05-08 52 views
0

我有两个活动A和B.活动A将启动活动B.我做了一些UI初始化,数据库查询和本地存储读取操作在活动B的onCreate。我的问题是活动B需要很长时间可见。那是因为onCreate中有这样的操作吗?我希望至少我的UI更改可见。请指导我增加活动加载时间

+0

是的。您可以在其他线程中运行繁重的操作,然后更新UI。 – Kanth 2013-05-08 16:07:43

+0

谢谢。我应该在onCreate和其他onResume活动状态下进行UI更改吗?用户可以看到哪些状态活动? – vignesh 2013-05-08 16:11:37

+0

否。清楚地检查活动的生命周期。 onResume()在屏幕变得可见之前被调用。所以,即使你在onResume()中执行繁重的操作,也不会有任何区别。请按照下面的答案或使用asynctask。你可以有选择来做到这一点或创建自己的线程。 – Kanth 2013-05-08 16:20:23

回答

0

在您的onCreate执行繁重的任务在不同的线程/处理程序/ AsyncTask。例如

public void onCreate(Bundle b){ 
    super.onCreate(b); 
    setContentView(R.layout.yourlayout); 
    // do other gui initialization 
    Handler h = new Handler(); 
    h.post(new Runnable{ 
     public void run(){ 
      // do your heave tasks 
     } 
    }); 
}