【问题标题】:Android: Need help to create camera activity screen quicklyAndroid:需要帮助以快速创建相机活动屏幕
【发布时间】:2012-01-16 19:38:49
【问题描述】:

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

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

由于这个问题,当用户点击相机图标时,屏幕上长时间没有活动,突然相机打开。在 onCreate 和 onResume 函数完成之前屏幕不会出现是真的吗?

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

【问题讨论】:

    标签: android android-activity camera


    【解决方案1】:

    为此,您需要使用第二个线程来加载相机。因此,使用简单的加载动画创建您的 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);
        }
    }
    

    【讨论】:

    • 哇,好快!非常感谢迈克尔!让我尝试实现这一点。
    • 欢迎您。欢迎访问该网站,如果它适合您,请不要忘记投票并接受此答案。
    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多