BitmapFactory需慎用,可能造成oom
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.xx);
我用BitmapFactory将drawable转为Bitmap后引起多次加载会oom,所以慎用哦
BitmapFactory.decodeResource之后的图片资源为强引用,gc回收无用的,gc高兴的时候回收弱引用,gc不太喜欢强引用,所以越来越多的内存不占用导致oom了。
那不用BitmapFactory,怎样将drawable转bitmap呢?答案是((BitmapDrawable) context.getResources().getDrawable(R.drawable.pic_temp_photo)).getBitmap()