戻る 07.メモリ量測定 次へ

少し基本的なところに戻りましょう。
そもそもBD-Jの仕様がどの程度のものなのかが未知数です。
搭載メモリに動作速度にサポートされているJavaの機能…

すでにここまでの調査でも実はかなり詰まった部分が数多くありました。
その原因としては「トレース情報が出ない」事が原因です。

現状のBD-Jの開発はひたすら実機テストですw
非常に非効率ですw
さすがに公式にBD-Jを作成している映画会社などはそんなことは無いでしょうが、
とにかく今のBD-J開発の手法はPSPなどの開発とほぼ同じ手当たりしだいデバッグなんです(泣w

メモリ量測定
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package org.homebrew;
	import	java.awt.*;
	import	java.awt.event.*;
	import	javax.tv.xlet.*;
	import	org.havi.ui.*;
	import	org.dvb.ui.*;

public class MyXlet extends Component implements Xlet{
	private HScene hs;
	Font	font;

	public void initXlet(XletContext context){
		hs= HSceneFactory.getInstance().getFullScreenScene(
			HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
		setBounds(hs.getBounds());
		hs.add(this);

		hs.setVisible(true);
		requestFocus();

		try{
			FontFactory FontF;
			FontF= new FontFactory();
			font= FontF.createFont("mona", java.awt.Font.PLAIN,12);
		}catch(Exception e){
		}
		repaint();
	}
	public void startXlet(){	}
	public void pauseXlet(){	}
	public void destroyXlet(boolean unconditional){	}

	public void paint(Graphics g){
		g.setColor(new Color(255,255,255));
		g.setFont(font);
		g.drawString("合計メモリ:"+Runtime.getRuntime().totalMemory(), 100, 50);
		g.drawString("使用量:"+Runtime.getRuntime().freeMemory(), 100, 100);
	//	g.drawString("最大使用可能メモリ:"+Runtime.getRuntime().maxMemory(), 100, 150);
	}
}
Runtime.getRuntime().totalMemory()で使用可能メモリ量がわかります。
Runtime.getRuntime().freeMemory()で空きメモリ量がわかります。
Runtime.getRuntime().maxMemory()で取得可能最大メモリ量がわかります。

しかし最後のはコメントにしています。
理由は
「実行すると真っ暗のまま何も映らなくなる」からですw

原因は謎ですwええ、不思議な事に実行すると処理が止まりますw

実はこれに始まったことでもないんです…
どうやら「BD-J(PS3のみ?)では実装されていない(?)命令を実行すると止まる」ようですヽ(;´Д`)ノ

しかもトレース情報すら出ないので最初は謎(?_?)で仕方が無かったですヽ(;´Д`)ノ

同じくgetPropertyなども同症状です…

トレースの取り方などが知りたいι(´Д`υ)