GlideBitmapPool 적용 (Bitmap Out of Memory)
이미지 프로세싱 중에 반복되는 비트맵 작업 시, Out of Memory 발생
간단한 해결책은 GlideBitmapPool 사용으로 좀 더 안정성 있게 앱을 구동했음 ^^v
1.기존 소스와 Android Profiler
mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
mBitmap.copyPixelsFromBuffer(IntBuffer.wrap(iat));
반복된 작업에 메모리가 증가하면서 앱이 중지됨. ^^;;
2.GlideBitmapPool 적용 소스와 Android Profiler
mBitmap = GlideBitmapPool.getBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
mBitmap.copyPixelsFromBuffer(IntBuffer.wrap(iat));
GlideBitmapPool.putBitmap(mBitmap);
반복된 작업에도 메모리가 안정적으로 유지됨 ^^v
GlideBitmapPool을 사용하면 Bitmap 관리에 도움이 될 것 같습니다. ^^
3.기타 적용
mStickerThumbBitmap = GlideBitmapPool.getBitmap(120, 120, Bitmap.Config.ARGB_8888);
mStickerThumbBitmap = Bitmap.createScaledBitmap(bitmap, 120, 120, false);
GlideBitmapPool.putBitmap(mStickerThumbBitmap);
-------------------------------------------------------------------------------------------------
출처
https://github.com/amitshekhariitbhu/GlideBitmapPool
얼굴인식해서 크롭하는 것도 있네요 ^^
https://github.com/aryarohit07/GlideFaceDetectionTransformation
다들 오늘도 즐거운 개발이 되길 바랍니다 ^^