Android Tip

GlideBitmapPool 적용 (Bitmap Out of Memory)

오마로 2017. 9. 27. 16:27
반응형


이미지 프로세싱 중에 반복되는 비트맵 작업 시, 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



다들 오늘도 즐거운 개발이 되길 바랍니다 ^^

반응형