1
두 명의 arraylists가 있습니다. 각각 하나의 URL이 있습니다. 이 URL에서 비트 맵을 다운로드하고 싶습니다. 내 코드는 다음과 같이 바뀝니다.안드로이드에서 비트 맵 병렬 처리 다운로드
private class downloading extends AsyncTask<ArrayList<String>, Void, ArrayList<Bitmap>> {
@Override
protected ArrayList<Bitmap> doInBackground(ArrayList<String>... params) {
downloadBitmaps(params[0]);
downloadBitmaps(params[1])
}
잘 작동합니다. 그러나 두 번째 arraylist의 비트 맵을 다운로드하기 위해 새 스레드를 만들고 싶습니다. 하지만 그렇게 할 경우 ConcurrentModificationException을 피하기 위해 downloadBitmaps 메서드에서 키워드를 동기화 할 때 사용해야합니다. 하지만 그렇게하면 다운로드 프로세스가 빨라지지는 않을 것입니다. 누구든지 비트 맵을 안전하게 다운로드 할 수있는 방법을 제안 할 수 있습니까?
어디서 ConcurrentModificationException을 사용합니까? show downloadBitmaps 및 onPostExecute 코드입니다. 컬렉션에 비트 맵을 배치합니까? 그런 다음 Synchronized 또는 Concurrent 버전을 사용하십시오. 또는 onPostExecute 메소드에서 스토리지를 수정하십시오. – Leonidos