我正在尝试将功能从 iOS 应用程序移植到 Android 应用程序。iOS 视图编程框架 UIKit 提供了生命周期方法-viewDidAppear:animated:
,该方法在视图控制器呈现后调用。
用于活动生命周期管理的Android 文档中写道“活动的前台生命周期发生在对 的调用onResume()
和对 的调用之间onPause()
”,但是当我将异步调度代码添加到活动的onResume()
时,它会增加该活动的启动时间。
如何启动一个活动,然后在该活动在前台运行后执行任意工作?
编辑:我正在使用改编自 Android “控制相机”培训和相机 API 指南的代码;前者写道,“正如 Android 自己的相机应用程序所做的那样,访问相机的推荐方法是在从 启动的单独线程上打开相机onCreate()
。”
我在我的结尾有这个onCreate()
:
new Thread(new Runnable() {
@Override
public void run() {
mCamera.setPreviewCallback(previewCb);
mCamera.startPreview();
previewing = true;
mCamera.autoFocus(autoFocusCB);
}
}).start();