|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface MediaResource
メディアリソースデータを定義します。 このメディアリソースインタフェースは、 メディアデータクラスが必ず実装しなければならないインタフェースを定めます。
メディアリソースは、使用する前に use()
で使用開始を宣言し、
使用した後に unuse()
で使用終了を宣言しなければなりません。
また、もはやメディアリソースを使用しない場合は
dispose()
で破棄しなければなりません。
dispose()
を呼ばない限り、
メディアリソースで使用したメモリが解放されない場合があります。
なお、既に use()
されているメディアリソースを再度
use()
しても何もしません。
dispose()
メソッドを呼び出した後にそのオブジェクトに対して dispose()
以外の何らかのメソッドを呼び出した場合 MediaException
が投げられます。
破棄されていないメディアリソースが GC
によって回収されようとしている場合の動作は機種依存です。
メディアリソースが確保するメモリを効率的に利用できる
use(MediaResource, boolean)
が利用可能です。
詳細は、そのメソッドの説明を参照して下さい。
また、 use()
、 unuse()
メソッド呼び出しによる、
メモリ確保・解放に関する振る舞いについては
MediaManager
クラスの説明を参照してください。
MediaManager
メソッドの概要 | |
---|---|
void |
dispose()
メディアリソースを破棄します。 |
String |
getProperty(String key)
指定されたキーに該当するプロパティ値を取得します。 |
boolean |
isRedistributable()
このメディアリソースが再配布可能かどうかを取得します。 |
void |
setProperty(String key,
String value) [iアプリオプションAPI]
指定されたキーに該当するプロパティ値を設定します。 |
boolean |
setRedistributable(boolean redistributable)
このメディアリソースの再配布を可能にするかどうかを設定します。 |
void |
unuse()
メディアリソースの使用終了を宣言します。 |
void |
use()
メディアリソースの使用開始を宣言します。 |
void |
use(MediaResource overwritten,
boolean useOnce)
メモリ領域を再利用したいメディアリソース、および 、一度きりの利用であるかどうかを指定して、 このメディアリソースの使用開始を宣言します。 |
メソッドの詳細 |
---|
void use() throws ConnectionException
use(null, false)
を呼び出した場合と同じ振る舞いをします。
詳細は use(MediaResource, boolean)
を参照して下さい。
MediaException
- SecurityException
-
ConnectionException
-
MediaException
- MediaException
- MediaException
- void use(MediaResource overwritten, boolean useOnce) throws ConnectionException
メモリ領域を再利用したいメディアリソース、および 、一度きりの利用であるかどうかを指定して、 このメディアリソースの使用開始を宣言します。 このメソッドが発行されると、実際にメディアリソースがロードされ、 内部表現形式に変換されます。
第 1 引数には、メモリ領域を再利用したいメディアリソースを指定します。 このメソッドが発行されると、実際にメディアリソースがロードされ、 内部表現形式に変換されますが、 この引数に非 null を指定すると、 変換後の内部表現形式を格納する領域として、 引数 overwritten で指定されたメディアリソースの 「内部データ領域」 を再利用します 既に確保されている領域を再利用するため、以下の点に注意してください。
unuse()
された状態 ) になります。第 2 引数は、 このメディアイメージの利用 (use) が 「一度きり」であるかどうかを指定します。 「一度きり」であると指定した場合 (true を指定した場合 ) 、 use 完了と同時に、内部形式に変換される前のリソースを破棄します。
メディアリソースの実装によっては、use メソッドを呼び出してから、 一旦 unuse メソッドを呼び出し、 再度 use メソッドを呼び出せるようにするためだけに、 1回目の use メソッド呼び出し時に 「オリジナルデータ領域」 を確保するするものがあります。 「一度きり」であると指定した場合は、 このメソッド呼び出しによって内部形式への変換が完了した直後に、 その領域を解放します。
その場合、このメソッド呼び出しにより、 実装によっては、早い段階で不要なメモリを解放することができますが、 以下のような制限があります。
第 2 引数に false を指定した場合は、 「オリジナルデータ領域」は dispose されるまで保持されたままとなります。 その代わり、一旦 unuse() してから、 再度 use メソッドによって利用可能状態にすることができます。
内部表現形式に変換する必要のないデータについては、オリジナルデータ領域のみが存在します。 そのようなデータの場合、第 2 引数に true を指定してもオリジナルデータ領域は削除されません。 メモリ節約の効果もありません。その場合でも、 一旦 unuse() してから use() した場合には例外が発生します。
このメディアリソースが利用可能状態の時にこのメソッドが呼ばれると、 何も行われずに無視されます。
このインタフェースのサブインタフェースによっては、
このメソッドをサポートしていない場合があります。
あわせて各サブインタフェースのメソッド説明も参照してください。
また、ここで規定している以上に詳細な動作についても、
各サブインタフェースのメソッド説明を参照してください。
overwritten
- 領域を再利用したいメディアリソースを指定します。
null を指定すると、このメディアリソースの
「内部データ領域」は新規に確保されます。useOnce
- このメディアリソースの利用が「一度きり」の場合には
true を、そうでない場合には false を指定します。
MediaException
- IllegalArgumentException
-
ClassCastException
-
MediaException
- MediaException
- MediaException
- SecurityException
-
ConnectionException
-
MediaException
- MediaException
- void unuse()