런타임 오류가 발생하여 어떻게 해결하고 응용 프로그램 성능을 최적화 할 수 있습니까?사용자가 한 번에 7-10 개의 고해상도 이미지를 선택할 때 Android의 메모리 문제를 해결할 수있는 방법
갤러리에서 선택한 이미지 및 비디오에 관한 작업을 수행하려고 할 때 해당 시간에 앱이 멈추어 충돌을 일으켜 메모리 문제를 해결했습니다.
런타임 오류가 발생하여 어떻게 해결하고 응용 프로그램 성능을 최적화 할 수 있습니까?사용자가 한 번에 7-10 개의 고해상도 이미지를 선택할 때 Android의 메모리 문제를 해결할 수있는 방법
갤러리에서 선택한 이미지 및 비디오에 관한 작업을 수행하려고 할 때 해당 시간에 앱이 멈추어 충돌을 일으켜 메모리 문제를 해결했습니다.
비트 맵을 사용하지 말아야합니다. 그렇지 않으면 OutOfMemory 예외를 직면해야합니다.
Android Manifest에서 큰 힙을 설정하십시오. 응용 프로그램 태그에 다음 속성을 추가하십시오. 메모리가 부족하지 않도록
android:largeHeap="true"
2 시도 이미지 라이브러리 Picasso 또는 Glide는 & 더 나은 성능을 발행합니다. 이러한 라이브러리는 메모리 부족을 처리합니다.
Glide.with (context).load (path).asBitmap().into(imageView);
largeHeap 또한 내 Manifeast에 사실이며 글라이드와 Picasso를 tryed하지만 문제는 사용자의 기능이 최대 10 개의 이미지를 선택할 수 있지만 사용자가 선택할 때 있습니다. 그 때 거대한 해상도의 이미지를 얻는 것 –
어떤 사람들은 글라이드 뱃지 자신의 캐시가 그렇게 말했다. 캐시 문제를 해결하면 메모리에서 오류가 발생하지만 캐시를 제거하면 다음 번에 다음 번에 이미지를 설정할 때 이미지가 약간 깜박이다. 이미지보기 –
당신이
BitmapFactory.Options options = new Options();
options.inSampleSize = 32;`
//img = BitmapFactory.decodeFile(imageids[position], options);
Bitmap theImage = BitmapFactory.decodeStream(imageStream,null, options);
Bitmap img=theImage.copy(Bitmap.Config.RGB_565,true);
theImage.recycle();
theImage = null;
System.gc();
//ivlogdp.setImageBitmap(img);
Runtime.getRuntime().gc();
`
읽기 http://stackoverflow.com/questions/477572/strange처럼 코딩 할 수 있습니다 로컬 폴더 경로 또는 서버 URL과 경로를 교체 -out-of-memory-bit-object-to-a-bitmap-object로드 중 –
1. 캐시를 사용하여 이미지 및 비디오를 선택합니다. 2. MediaStore와 같은 미디어 파일 목록을 얻으려면'MediaStore'를 사용하십시오. –
메모리를 할당하는 무한 루프에 들어가는 것처럼 들립니다. 표시 할 수있는 코드가 있습니까? – Neil