android中Bitmap导致的内存溢出
16lz
2021-01-26
今天研究了下android原生态实现游戏,主要是使用自定义View类,通过不断调用其onDraw方法实现界面刷新,完成动。但是由于是研究学习阶段,难免会有错误,我将使用到的图片在ondraw方法中加载了,这样导致每次重新绘制都要加载Bitmap对象,这样导致了大量的内存使用,最终内存不堪重负,窗体自动销毁。最后,将需要使用到的图片放在了声明部分,果然问题解决了,所以,想记录下来希望看到这篇文章的朋友都能够少走弯路。
// 素材图片Bitmap bmap_bg = BitmapFactory.decodeResource(getResources(), R.drawable.map3_1);Bitmap bmap_fighter = BitmapFactory.decodeResource(getResources(), R.drawable.fighter_96);protected void onDraw(Canvas canvas) {// TODO Auto-generated method stubsuper.onDraw(canvas);Paint paint = new Paint();// 绘制背景//Bitmap bmap_bg = BitmapFactory.decodeResource(getResources(), R.drawable.map3_1);canvas.drawBitmap(bmap_bg, 0,0, paint);//Bitmap bmap_fighter = BitmapFactory.decodeResource(getResources(), R.drawable.fighter_72);//图片的尺寸int width = bmap_fighter.getWidth();int height = bmap_fighter.getHeight();canvas.drawBitmap(bmap_fighter, px-width/2, py-height/2, paint);}
更多相关文章
- 利用WCF与Android实现图片上传并传参
- Android(安卓)贝塞尔曲线实现QQ拖拽清除效果
- Android(安卓)仪表进度条 自定义View
- Android(安卓)加载不同 DPI 资源与内存消耗间的关系
- android 微信朋友圈相册封面裁剪的小秘密
- Android(安卓)Camera生成bmp格式的图片
- Android开发-----03-使用Canvas绘制虚线……
- Android实现播放GIF动画的强大ImageView
- Android(安卓)自定义View(三):重写View实现全新控件