Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android中Bitmap導致的內存溢出

android中Bitmap導致的內存溢出

編輯:關於Android編程

今天研究了下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 stub  
        super.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);  
    }  

 


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved