2013-01-08 1 views
0

자바에서 안드로이드 애플 리케이션을 에뮬레이터에서 잘 작동하게 만들었지 만 실제 휴대폰에서는 깨지기 만하면 out of memory error 내 응용 프로그램에는 63 개의 사진, 10 개의 오디오 노래, 4 개의 비디오가 있습니다. 내 응용 프로그램의 총 크기는 141 MB입니다. 너무 많은 데이터가 있거나 내 응용 프로그램에 내 미디어를 저장하는 더 좋은 방법이 있기 때문에 내가 어떻게이 오류가 발생하지 않도록 할 수 있습니까? 여기 내 애플 리케이션의 메모리 관리 오류

장치에 저장할 수있는 메모리를 Regaridng

1 오디오 갤러리

비디오 갤러리

+1

당신은 자세히 설명 할 수 있습니까? 나는 비트 맵을 열 때 특히 애플 리케이션에 문제가 있었다. 사용 가능한 메모리 양이 매우 빠르게 줄어들므로 비트 맵을 자주 삭제 표시해야합니다 (또는 해상도를 다운 그레이드하는 기술 사용). – DigCamara

+0

메모리에있는 모든 것을 한 번에로드하려고합니다. –

+0

@ NarendraPathai 난 그냥 원시 폴더에 넣고 연결 그래서 어떻게 작동하도록 관리 할 수 ​​있습니다 –

답변

0

일부 이미지입니다,

힙의 크기는 앱를 실행하는 하드웨어에 따라 달라집니다. 예를 들어 G1에서 16MB, 넥서스에서 32MB를 예로들 수 있습니다. 당신이 그것에 대해 할 수있는 일이 많이 있다고 생각하지 마십시오. 3.0 이하의 버전을 타겟팅하는 경우

Google이 지적했듯이,이 모든 용도로 사용하는 것은 귀하의 앱 사용자를 자극하는 경향이 있습니다. 앱이 더 많은 메모리를 소비하므로 다른 앱을 더 빨리 메모리에서 차게됩니다. 일부 사용자는이 동작을 좋아하지 않을 것입니다. 그리고 이것은 단지 태블릿 옵션 일 가능성이 큽니다. 아이스크림 샌드위치 폰이 반드시 안드로이드를 지원할 것이라고 생각하지 않습니다 : largeHeap

리소스가로드되면 메모리가 초기화됩니다. .. 당신이 메모리 부족을 겪고있는 안드로이드의 힙 메모리를 초과하는 활동에서 리소스를로드하려고합니다.

+0

그래서 어떻게 할 수 있습니까? –

+0

한 번에 모든 이미지 또는 미디어를 동일한 작업에로드해야합니까? 이미 압축 된 이미지가 있다면 ... 그렇지 않다면 Adobe Photoshop에서 이미지를 압축하여 어느 정도 동일한 품질을 유지할 수 있습니다. 141MB의 리소스가 장치에서 너무 큽니다. 그것은 당신이 응용 프로그램에 대해 설명 할 수 있다면, 그리고 당신이 달성하기 위해 노력하고 있습니다, 그래서 나는 이미지 또는 미디어를로드하는 대체 방법을 볼 수 있습니다 ... –

+0

잘 내 여자가 내가 여배우 포트폴리오입니다 모든 미디어는 600MB에서 141MB에 이르지만 작동하는 모든 오디오 및 비디오를 제거하면 재생할 수 없지만 모든 미디어를 유지하는 것이 중요합니다. –

1

이미지, 사운드 및 비디오와 같은 앱에 데이터를 저장하는 것은 권장되지 않습니다. 마찬가지로 노래, 이미지 및 비디오로 앱을 제공하면 저작권 및 불법 복제 소송으로 인도 할 수 있습니다. 그렇다면 자신의 데이터가있는 경우 나는 당신이 당신의 app을위한 Client/Server Architecture를 구현해야한다고 제안한다. 서버로부터 아이템을 호스트하고 필요할 때 당신의 app에서 그것들을 가져온다.

+0

내려했지만 미안 해요 다른 방법이 있습니다. –

+0

그럼 가능한 한 작은 크기로 응용 프로그램을 만드는 것이 좋습니다 .. 그래도 여전히 애플 리케이션 리소스 내에 미디어 항목을 유지하려면, 당신은로드해야합니다 당신이 OutOfMemoryException을 얻고 싶지 않기 때문에주의와 정밀성을 가지고 메모리에있는 아이템들을 가져라.항목이 필요할 때만로드하십시오. MediaPlayer는 노래와 비디오 자체를 처리하지만 이미지는주의해야합니다. 화면 크기에 따라 이미지의 크기를 조정하고 크기가 조정 된 비트 맵을 메모리에로드하십시오 (필요한 경우, 그렇지 않은 경우). –

관련 문제