2012-01-12 10 views
0

カメラの読み込み時間を最適化しようとしています。私の現在のデザインは、カメラアイコンがクリックされたときにアクティビティ"CameraLoading"を呼び出します。 CameraLoadingアクティビティは実際のカメラである新しいアクティビティ"CameraActivity"を開始します。Android:カメラアクティビティ画面をすばやく作成するためのヘルプが必要

このソフトウェアを最適化するには、CameraLoadingアクティビティをスキップしてCameraActivityを直接開始します。 CameraActivityでは、画面(setcontentview layout)はonCreateの最初に作成されますが、時間プレビューの準備が整うまでは表示されません。

この問題のため、ユーザーがカメラアイコンをクリックすると、長い間画面に何も表示されず、突然カメラが開きます。 onCreateとonResume関数が完了するまで画面が表示されないのは本当ですか?

カメラが開かれていることをユーザーに知らせる通知やアニメーションを画面に表示する際に助けが必要です。助言がありますか ?

答えて

0

これを行うには、カメラをロードするために2番目のスレッドを使用する必要があります。したがって、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); 
    } 
} 
+0

WAO、これはちょうど擬似コードので、塩ひとつまみとそれを取るです!マイケルありがとう!私はこれを実装しようとしましょう。 – PCP

+0

ようこそ。サイトへようこそ。あなたのために働く場合、この回答をアップして受け入れることを忘れないでください。 –

関連する問題