2012-04-02 1 views
1

나는 약 4 ~ 5 HorizontalScrollViews이있는 응용 프로그램에서 일하고 있어요. 이 중 3 개에는 이미지가 완전히로드되어 있습니다. 이 기능을 사용하려면 java.lang.OutOfMemoryError를 여러 번 극복해야했습니다. stackoverflow에있는 모든 친구들에게 감사드립니다. 이제, 다음 활동은 이미지로 가득 채워질 것입니다. 따라서 새로운 활동이 시작될 때 힙이 해제되는지 여부를 알고 싶었습니다.이전 활동은 여전히 ​​달빅 VM의 힙 메모리를 사용합니까?

+0

는, 힙 .. 해제 – ngesh

+0

@sandy 그러나 내가 다시 갈 때 이미지는 이전 활동에서 다시 다운로드됩니다 것인가? – FireAndIce

+1

이미지를 외부 저장소에 캐시 한 다음 활동을로드 할 때 이미지가 존재하는지 확인하십시오. 그렇다면 외부 저장 장치에서 이미지를 가져오고, 그렇지 않으면 이미지를 다운로드하십시오. 다른 레벨을 추가하고 이미지를 메모리에 저장 (SoftReference)하고 외부 저장소에서 가져 오기 전에 여기에서 당길 수 있습니다. – Mimminito

답변

0

finish()을 사용하여 이전 activuty를 죽이면 힙 메모리가 사용되지 않습니다. 그렇지 않으면 백그라운드에서 메모리가 스택됩니다 (스택). 당신의 활동 배경에있는 경우

+0

하지만 활동을 종료하면 시간이 오래 걸릴 수 있고 사용자 경험을 망칠 수있는 모든 이미지를 다시로드하게됩니다. 이미지를 다시 다운로드하고 싶지 않습니다. – FireAndIce

+1

@HarshalKshatriya : 당신은 SD 카드 또는 내부 전화 메모리에 캐시에 이미지를 저장할 수 있습니다. – Jave

+0

@Jave Ok, 시도해 보겠습니다. 감사. – FireAndIce

관련 문제