Van*_*nel 3 android asynchronous
我正在开发一个Android 3.1应用程序.
我想执行一个AsyncTaskafter活动.我想在执行之前向用户显示一些内容AsyncTask.
我读过,它不建议执行AsyncTask上onCreate().
在那里我有执行AsyncTask上onStart()还是onResume()?
我希望在执行之前留出足够的时间来显示活动.
Gra*_*eme 11
onCreate(),onStart()并且onResume()是通过操作系统调用生命周期方法,不应该直接调用.但是,您可以覆盖它们,以便在活动生命周期的这些阶段执行代码:

但是,如果您希望在所有Views已经膨胀并绘制到屏幕后启动AsyncTask,那么您需要将代码放入:
toReturn.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
public void onGlobalLayout() {
toReturn.getViewTreeObserver().removeGlobalOnLayoutListener(this);
// asyncTask.execute();
}
});
Run Code Online (Sandbox Code Playgroud)
在上面的示例中toReturn是onCreate()方法中的视图.它可以是你喜欢的任何视图.
这ViewTreeObserver将从View中拉出一个并添加一个侦听器,当视图完成绘制到屏幕时将调用该侦听器.保持"removeGlobalOnLayoutListener()"行是很重要的,因为这将在每次绘制视图时停止代码触发.
| 归档时间: |
|
| 查看次数: |
3464 次 |
| 最近记录: |