重い画像を取得し、サイズを変更してにロードする必要があるアクティビティがありますGridView
。このフェッチ、サイズ変更のすべてのプロセスには時間がかかるため、別の からこの画面を読み込もうとするとACtivity
、遅延が発生します。
この「グリッド アクティビティ」のコンテンツを最初にロードし、すべての画像がロードされた後にのみ開くにはどうすればよいですか?
を使用していstartActivityForResult
ますか?これが解決策である場合、GridView
スクロール時に画像をロードしてからすべての画像がロードされたことをどのように検出できますか。
編集
AsyncTask
以前に何十回も使用したものを使用するように提案されました。しかし、何かが私を混乱させます。
カスタム アダプターの初期化を AsyncTask に送信する必要がありますか?
mGridView = (GridView) findViewById(R.id.gridview); mImageAdapter = new ImageAdapter(this); mGridView.setAdapter(mImageAdapter);
または、カスタムアダプター内、つまりメソッド内で非同期タスクを実行し
getView
、各グリッドビューセルで my への新しい呼び出しを作成する必要がありますAsyncTask
か?