Quantcast
Channel: OKWAVE 最新質問([技術者向] コンピューター/205)【本日】
Viewing all articles
Browse latest Browse all 38062

アンドロイドアプリについて(ヒープ領域)

$
0
0
はじめましてこんにちわ OutOfMemoryErrorについて質問です。 public void textload(String[] str,int x,int y, int size){ //Log.v("デバッグ","ロード開始"); GL10 gl = glGraphics.getGL(); int[] textureIds = new int[1]; gl.glGenTextures(1, textureIds, 0); textureId = textureIds[0]; /** * 空のビットマップを作成し、そこへ文字を書き込むことでGL上に描画を行う。 */ //ビットマップの数値を計算 Log.v("デバッグ","ビットマップロード"); bitmap = Bitmap.createBitmap(640,480, Config.ARGB_4444); canvas = new Canvas(bitmap); paint = new Paint(); Log.v("デバッグ","完了"); paint.setColor(Color.WHITE); paint.setStyle(Style.FILL); paint.setTextSize(size); canvas.drawColor(0); for(int i=0;i<str.length;i++){ if(str[i] != null){ canvas.drawText(str[i], x, y + size*(i+1), paint); } } width = bitmap.getWidth(); height = bitmap.getHeight(); paint.reset(); paint = null; gl.glEnable(GL10.GL_TEXTURE_2D); Log.v("デバッグ","ビットマップをtexImage2Dに"); // ! テクスチャ情報の設定 gl.glBindTexture(GL10.GL_TEXTURE_2D, textureId); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER, GL10.GL_NEAREST); gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER, GL10.GL_NEAREST); //setFilters(GL10.GL_NEAREST, GL10.GL_NEAREST); GLUtils.texImage2D(GL10.GL_TEXTURE_2D, 0, bitmap, 0); Log.v("デバッグ","完了"); // アプリのメモリ情報を取得 Runtime runtime = Runtime.getRuntime(); Log.v("デバッグ","解放処理開始"); String memory = "Free=" + Long.toString(Debug.getNativeHeapFreeSize() / 1024) + "kb" + // 空きヒープサイズ ", Allocated= " + Long.toString(Debug.getNativeHeapAllocatedSize() / 1024) + "kb" + // 使用中ピープサイズ ", Size=" + Long.toString(Debug.getNativeHeapSize() / 1024) + "kb"; // 確保しているヒープサイズ Log.i("Heap", memory); if( bitmap != null || !bitmap.isRecycled() ){ bitmap.recycle(); //System.gc(); //bitmap = null; } Log.v("デバッグ","解放処理完了"); //Log.v("デバッグ","ロード完了"); } 上記のようにbitmapを解放しているのですが 何回もロードしていると 使用中のヒープサイズが 確保しているヒープサイズに近づいたときに落ちてしまいます。 ヒープ領域を解放することはできないでしょうか? GCが起動するタイミングなどがよくわかっていない初心者です・・・ 三日間ぐらいここで躓いています・・・ どなたかご教授おねがいします・・・

Viewing all articles
Browse latest Browse all 38062

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>