我已经整理了一个小型相机应用程序,但遇到了问题。
当我恢复我的应用程序并致电onResume()
时,我必须重新初始化所有内容(即重新打开相机并创建用作相机预览的surfaceview)。
现在,我的onResume()
看起来像这样:
@Override
public void onResume() {
super.onResume();
openCamera();
startCameraPreview();
}
问题在于onResume()
中的方法,即openCamera()
和startCameraPreview()
需要花费大量时间才能完成。因此,我的应用程序需要花费更长的时间才能打开,这不是一个非常好的用户体验。
问题是:我该如何解决这个问题?我已经尝试使用AsyncTask
,但在那里我遇到了尝试从主线程以外的线程更新UI的问题。
有什么想法吗?