Android:需要帮助快速创建相机活动屏幕

时间:2012-01-12 11:34:38

标签: android android-activity camera

我正在尝试优化相机加载时间。我的当前设计在单击相机图标时调用活动"CameraLoading"。 CameraLoading活动启动一个新活动"CameraActivity",这是真正的相机。

要优化此软件,我想跳过CameraLoading活动并直接启动CameraActivity。在CameraActivity中,我的屏幕(setcontentview布局)是在onCreate的开头创建的,但是在预览准备好之前它不会显示。

由于此问题,当用户点击相机图标时,很长一段时间屏幕上没有活动,相机会立即打开。在onCreate和onResume函数完成之前,屏幕是否会出现?

我需要你的帮助,在屏幕上显示一些通知或动画,告知用户正在打开相机。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要执行此操作,您需要使用第二个线程来加载相机。因此,使用简单的加载动画创建您的CameraActivity并设置一个线程来加载相机。加载后,您可以将其动态设置到视图中并删除加载图标。

http://developer.android.com/resources/articles/painless-threading.html

此链接显示使用线程下载图像,因此不会降低UI的速度。如果您能理解,那么您可以根据自己的目的修改其前提。希望这有帮助

一些示例代码可能会提供您的想法。这只是伪代码,所以请用一点盐:

public void onCreate() {
    ...load view as usual

    new LoadCameraTask().execute("http://example.com/image.png");
}

private class LoadCameraTask extends AsyncTask<String, Void, Bitmap> {
    protected CameraClass doInBackground(String... urls) {
        ...perform loading of camera and return the camera object
        return Camera;
    }

    protected void onPostExecute(CameraClass result) {
        contentView.add(result);
        contentView.remove(loadingIcon);
    }
}