2017-04-06 9 views
0

ギャラリーから画像をクリックまたは選択し、画像に存在するオブジェクトの数を数えるアプリケーションを開発しました。大きな画像の場合、処理にはしばらく時間がかかります(10〜15秒)。この期間中、アプリケーションはフリーズしたように見えます。ここに私のアプリケーションのワークフローがあります。アクティビティの途中にスプラッシュ画面を挿入する

メインスクリーン(次の画面に移動するためのボタンのあるブランク画面) - > 2番目の画面(ナビゲーションドロワとフラグメント)。このフラグメントはImageViewを保持しています。 2番目のスクリーンのボタンはメインの引き出しです。このボタンは、処理の開始を担当します。ユーザーがこのボタンをクリックすると、処理が開始され、しばらくしてからモーフィングされたイメージがイメージビューに設定され、カウントを表示するアラートダイアログが表示されます。そこで、onClickメソッドでは、イメージビューからイメージを取得し、いくつかのクラスを呼び出すことで処理を行います。それが完了した後、私はImageViewをモーフィングされたビットマップで設定しています。

画像が取得された後に「処理」のようなテキストでスプラッシュ画面を呼び出したいと思います。ビットマップが他のクラスから返されるとすぐにこの画面を非表示にしたいと思います。次に、モーフィングされた画像が画像ビューにロードされる。これはどうすればいいですか?

+0

[アンドロイドで画面を読み込む方法は?](http://stackoverflow.com/questions/32439145/how-to-create-loading-screen-in-android) – csmckelvey

答えて

0

この期間はアプリケーションがフリーズしたように見えます。ここに私のアプリケーションのワークフロー

いつでもタスクを消費するには、(それがAsyncTaskIntentService等も)、バックグラウンドで実行されるべきです。必要に応じて。ユーザーインタラクションからUIをブロックしますが、をブロックしないでください。。 UIスレッドは反応的でなければならず、10-15秒は大変です。

関連する問題