문제가
나는 사용자가 일부 사진을 지정하고 그들이 screen.So에있을거야 얼마나 때때로 그가에 원하는 응용 프로그램을 개발하고 있어요 속도가 느려집니다 작은 애니메이션과 같은 것을 만들거나 약간의 시간 동안 이미지를 보는 것입니다. 문제는 이미지가 미리보고되지 않아서 약간의 시간이 지나면 오류가 발생한다는 것입니다. 어플리케이션에서 시간을 개발하고 있습니다. 문제가 있으므로 문제가 무엇인지에 대해 도움을 드리고 싶습니다.
는 그래서 mathod의 ImageOperations 그런 어디는 HashMap의
Bitmap image = ImageOperations(url,String.valueOf(frameNum) + ".jpg");
ImageMap.put(String.valueOf(frameNum), image);
에 저장 내가 내 웹 응용 프로그램에서 사진을 찍을을 남기고 방법을 설명하자 다음 코드 :
private Bitmap ImageOperations(String url, String saveFilename) {
try {
Display display = getWindowManager().getDefaultDisplay();
InputStream is = (InputStream) this.fetch(url);
Bitmap theImage = BitmapFactory.decodeStream(is);
if (theImage.getHeight() >= 700 || theImage.getWidth() >= 700) {
theImage = Bitmap.createScaledBitmap(theImage,
display.getWidth(), display.getHeight() - 140, true);
}
return theImage;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
나중에 사용자 지정시 UI를 업데이트하는 스레드를 실행합니다. 업데이트하는 방법은이 방법입니다. 우리는 우리가 잠에 대한 스레드를 넣어 이미지를 업데이트 할 때이 문제를 만들고 뭔가를 thread.Is를 업데이트를 다시 실행 한 후
public void setPictures(int NumOfFrame) {
if (frameArray.get(NumOfFrame - 1).frame_pic.contains("n/a") != true) {
ImagePlace.setImageBitmap(ImageMap.get(String.valueOf(NumOfFrame)));
} else {
ImagePlace.setImageDrawable(null);
}
}
? 그것은 가비지 컬렉션을 수행해야합니까?
ImageMap.get(String.valueOf(NumOfFrame))
그리고 여기에 기존 비트 맵을 재활용하지 않는 :
는
ImageMap에 몇 개의 이미지가 있습니까? – sandrstar
그림의 번호는 5-30입니다. 애니메이션의 경우 대부분의 사진이 반복됩니다. 사용자가 내가 1,2,3,4,1,2,3,4,1,2,3,4 시퀀스와 함께 볼 수있는 그림을 원한다고 말하면 앱은 UI에 표시합니다. –