Adobe® Flash® Platform 用 ActionScript® 3.0 リファレンスガイド
ホーム  |  パッケージおよびクラスリストの非表示 |  パッケージ  |  クラス  |  新機能  |  索引  |  付録  |  英語で表示される理由
フィルター: サーバーからデータを取得しています...
サーバーからデータを取得しています...
 

パッケージ flash.sampler 


このパッケージは、Adobe Flash Builder で配布されるプロファイリングエージェントによって使用され、プロファイリングエージェントのカスタマイズや独自のメモリテストを構築するために提供されています。startSampling() メソッドおよび Flash Player デバッグ版 9.0.115.0 以降を使用してメモリ使用量のサンプルを収集します。次に getSamples() メソッドを使用して、メモリ使用量のサンプルを取得します。各サンプルは、実行中のアプリケーションの独立した間隔のメモリ使用量を表します。次に flash.sampler パッケージの他のメソッドを使用して、メモリ使用量の情報を分析します。

メモ:独自のプロファイリングエージェントを作成する場合、"mm.cfg" ファイルで PreloadSwf プロパティを設定することで、エージェント SWF ファイルをプリロードできます。

PreloadSwf=C:/Documents and Settings/username/testingagent.swf?aparam=asetting

プリロードされた各エージェント SWF ファイルは独自のセキュリティドメインを持ち、プロファイリングされている SWF ファイルから独立したセキュリティサンドボックスで実行されます。flash.sampler パッケージのメソッドを実行するには、エージェント SWF ファイルが localTrusted ファイルパスに配置されている必要があります(セキュリティセンターを参照してください)。

パブリックメソッド
 関数定義元
  
Sample オブジェクトの現在のセットをクリアします。
flash.sampler
  
get 関数が実行された回数を返します。
flash.sampler
  
メソッドが実行された回数を返します。
flash.sampler
  
関数のレキシカルスコープを公開して、関数インスタンスで保持されている間、キャプチャされたスコープオブジェクト(アクティベーションオブジェクトとスコープを含む)が、プロファイラーによって表示されるようにします。
flash.sampler
  
このストリングが依存しているマスターストリングを返します。このストリングが他のストリングに依存していない場合は null を返します。
flash.sampler
  
getMemberNames(o:Object, instanceNames:Boolean = false):Object
指定されたオブジェクトのすべてのメンバー(プライベートメンバーを含む)を含むオブジェクトを返します。
flash.sampler
  
収集されたサンプルの数を返します。
flash.sampler
  
最後のサンプリングセッションからメモリ使用状況 Sample インスタンスのオブジェクトを返します。
flash.sampler
  
通常 AS で表示できないメソッドクロージャから、保存された "this" を返します。
flash.sampler
  
set 関数が実行された回数を返します。
flash.sampler
  
Flash Player 9.0.115.0 以降のデバッグ版で使用した場合、指定されたオブジェクトのメモリ内サイズを返します。
flash.sampler
  
プロパティが get/set 関数によって定義されているかどうかを確認します。
flash.sampler
  
サンプリング処理を一時的に停止します。
flash.sampler
  
サンプラーに対し、Flash Player からの内部割り当てに NewObjectSamples を作成することを指示します。
flash.sampler
  
サンプラーのコールバック関数を設定します。この関数は、サンプルストリームがほとんど使い切られると呼び出されます。
flash.sampler
  
メモリ使用状況 Sample オブジェクトを収集する処理を開始します。
flash.sampler
  
メモリ使用状況 Sample オブジェクトを収集する処理を終了し、サンプリング処理に使用されたリソースを解放します。
flash.sampler
関数の詳細

clearSamples

()関数
public function clearSamples():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

Sample オブジェクトの現在のセットをクリアします。このメソッドは通常、getSamples() を呼び出して Sample オブジェクトを繰り返し処理した後に呼び出します。 Flash Player デバッグ版のみ。

関連する API エレメント

getGetterInvocationCount

()関数 
public function getGetterInvocationCount(obj:Object, qname:QName):Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

get 関数が実行された回数を返します。isGetterSetter() を使用して get/set 関数があることを確認してから getGetterInvocationCount() を使用してください。 Flash Player デバッグ版のみ。

パラメーター

obj:Object — メソッドインスタンスまたはクラスです。
 
qname:QName — qname が undefined の場合は、コンストラクター関数の繰り返し回数を返します。

戻り値
Number — get メソッドが実行された回数です。

関連する API エレメント

getInvocationCount

()関数 
public function getInvocationCount(obj:Object, qname:QName):Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

メソッドが実行された回数を返します。パラメーター obj が Class で、パラメーター qnameundefined の場合、このメソッドはコンストラクター関数の繰り返し回数を返します。 Flash Player デバッグ版のみ。

パラメーター

obj:Object — メソッドインスタンスまたはクラスです。メソッドインスタンスが使用できない場合は、クラスを使用してインスタンス関数の呼び出し回数を取得できます。objundefined の場合、このメソッドは qname で名前が指定されたパッケージスコープ関数の回数を返します。
 
qname:QName — qname が undefined の場合は、コンストラクター関数の繰り返し回数を返します。

戻り値
Number — メソッドが実行された回数です。

例  ( この例の使用方法 )

 package 
{
  public function exec3() {}

  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.*;
  public class getInvocationCountTest extends Sprite
    {
      public function getInvocationCountTest()
    {
      for(var i:int=0;i<10;i++)
        exec();
      for(var i:int=0;i<10;i++)
        exec2();
      for(var i:int=0;i<10;i++)
        exec3();

      // get exec QName
      var execName:QName;
          var name:QName;
      var fooName:QName;
      for each(name in getMemberNames(this)) {
          if(name.localName == "exec")
          execName = name;
          if(name.localName == "foo")
          fooName = name;
      }

      var exec2Name:QName;
      for each(name in getMemberNames(getInvocationCountTest)) {
          if(name.localName == "exec2")
          exec2Name = name;
      }

      // execute get/set
      foo = "bar";

      trace(isGetterSetter(this, fooName));
      trace(getSetterInvocationCount(this, fooName) == 1);
      trace(getGetterInvocationCount(this, fooName) == 0);

      foo;
      
      trace(getSetterInvocationCount(getInvocationCountTest, fooName) == 1);
      trace(getGetterInvocationCount(getInvocationCountTest, fooName) == 1);

      trace(getInvocationCount(this, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, exec2Name) == 10);
      trace(getInvocationCount(getInvocationCountTest, undefined) == 1);
    
      getTimer();
      getTimer();

      trace(getInvocationCount(undefined, new QName("", "trace")) == 9);
      trace(getInvocationCount(undefined, new QName("flash.utils", "getTimer")) == 2);
      trace(getInvocationCount(undefined, new QName("", "exec3")) == 10);

    }

      private function exec():void {}
      private static function exec2():void {}

      private function get foo():String { return "fo"; }
      private function set foo(s:String) { }
      
    }
}

getLexicalScopes

()関数 
public function getLexicalScopes(obj:Function):Array

関数のレキシカルスコープを公開して、関数インスタンスで保持されている間、キャプチャされたスコープオブジェクト(アクティベーションオブジェクトとスコープを含む)が、プロファイラーによって表示されるようにします。

パラメーター

obj:Function — 関数

戻り値
Array — レキシカルスコープ要素を含んでいる配列

getMasterString

()関数 
public function getMasterString(str:String):String

言語バージョン: ActionScript 3.0

このストリングが依存しているマスターストリングを返します。このストリングが他のストリングに依存していない場合は null を返します。例えば、String.substr() を呼び出すと、返されたストリングは、効率性のために、通常、元のストリングへのポインターとして実装されます。通常の使用では、実装に関する詳細はユーザーには表示されませんが、プロファイラーを使用してプログラムのメモリの消費量を分析すると、混乱が生じる場合があります。ストリングが消費しているメモリが、そのストリングの値に必要なメモリ量よりも少なく示される可能性があるからです。さらに、ストリングは、他のストリングのマスターなので、メモリだけに保持される場合があります。getMasterString() を使用すると、プロファイラーによって、ストリングの依存性の正確なグラフをユーザーに示すことができます。

パラメーター

str:String — ストリングです。

戻り値
String — 渡されたストリングが依存しているストリングです。渡されたストリングが他のストリングに依存していない場合は null です。

getMemberNames

()関数 
public function getMemberNames(o:Object, instanceNames:Boolean = false):Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

指定されたオブジェクトのすべてのメンバー(プライベートメンバーを含む)を含むオブジェクトを返します。返されたオブジェクトを繰り返し処理してすべての値を確認できます。このメソッドは flash.utils.describeType() メソッドと似ていますが、プライベートメンバーも確認することが可能で、XML オブジェクトを作成するという中間手順を省略できます。 Flash Player デバッグ版のみ。

パラメーター

o:Object — 解析するオブジェクトです。
 
instanceNames:Boolean (default = false) — オブジェクトが Class の場合、instanceNames に true を指定すると、o がクラスのメンバー名ではなくクラスのインスタンスであるかのようにインスタンス名が報告されます。

戻り値
Object — 各プロパティの QNames を取得するために for each..in ループで繰り返し処理するオブジェクトです。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、getMemberNames() メソッドを使用してオブジェクトを解析し、そのメンバーの buttonModefiltersdispatchEvent の各プロパティを表示します。メモリプロファイラーを使用するには、Flash Player デバッグ版の 9.0.115.0 以降がインストールされている必要があります。
 package 
{
  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  public class getMemberNamesTest extends Sprite
    {
      public function getMemberNamesTest()
    {
      var name_iter = getMemberNames(this);
      var o={};
      for each(var name:QName in name_iter) {
        o[name.localName] = "got it";
      }

      name_iter = getMemberNames(this);
      var count=0;
      for(var dum in name_iter) {
        count++;
      }
      trace(count == 1);

      // my member
      trace("buttonMode" in o);
      // inherited member
      trace("filters" in o);
      // inherited function
      trace("dispatchEvent" in o);

      var name_iter = getMemberNames(getMemberNamesTest, true);
      var o={};
      for each(var name:QName in name_iter) {
        o[name.localName] = "got it";
      }

      // my member
      trace("buttonMode" in o);
      // inherited member
      trace("filters" in o);
      // inherited function
      trace("dispatchEvent" in o);

    }
    }
}

getSampleCount

()関数 
public function getSampleCount():Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

収集されたサンプルの数を返します。 Flash Player デバッグ版のみ。

戻り値
Number — Sample インスタンスのイテレータです。

関連する API エレメント

getSamples

()関数 
public function getSamples():Object

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

最後のサンプリングセッションからメモリ使用状況 Sample インスタンスのオブジェクトを返します。 Flash Player デバッグ版のみ。

戻り値
Object — Sample インスタンスのイテレータです。

関連する API エレメント

getSavedThis

()関数 
public function getSavedThis(obj:Function):Object

通常 AS で表示できないメソッドクロージャから、保存された "this" を返します。

パラメーター

obj:Function — MethodClosure インスタンス。

戻り値
Object — MethodClosure の "this" であるオブジェクト。

getSetterInvocationCount

()関数 
public function getSetterInvocationCount(obj:Object, qname:QName):Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

set 関数が実行された回数を返します。isGetterSetter() を使用して get/set 関数があることを確認してから getSetterInvocationCount() を使用してください。 Flash Player デバッグ版のみ。

パラメーター

obj:Object — メソッドインスタンスまたはクラスです。
 
qname:QName — qname が undefined の場合は、コンストラクター関数の繰り返し回数を返します。

戻り値
Number — set メソッドが実行された回数です。

関連する API エレメント

getSize

()関数 
public function getSize(o:*):Number

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

Flash Player 9.0.115.0 以降のデバッグ版で使用した場合、指定されたオブジェクトのメモリ内サイズを返します。デバッグ版でない Flash Player で使用した場合、このメソッドは 0 を返します。

パラメーター

o:* — メモリ使用状況を解析するオブジェクトです。

戻り値
Number — 指定されたオブジェクトで使用されたメモリのバイト数です。

例  ( この例の使用方法 )

次の例では、startSampling()pauseSampling を使用して Sample オブジェクトを収集します。そして、Sample オブジェクトを繰り返し処理して id の値とサイズを取得します。System.gc() を呼び出して現在のプロセスを停止した後、deletedObjectSample オブジェクトを元の id 値と比較してそのサイズを表示します。メモリプロファイラーを使用するには、Flash Player デバッグ版の 9.0.115.0 以降がインストールされている必要があります。
 package {
  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.Dictionary;
  public class deletedObjectSize extends Sprite {
    public function deletedObjectSize() {

      startSampling();
      var obj = {};
      pauseSampling();

      var id:Number;
      var sampleIter = getSamples();
      for each(var s:Sample in sampleIter) {
    id = s.id;
      }
      
      sampleIter = getSamples();
      var count=0;
      for(var dum in sampleIter) {
    count++;
      }
      trace(count == 1);

      var size:Number = getSize(obj);
      obj = undefined;

      startSampling();

      // force DRC
      for(var i:int=0;i<1000;i++)
    new Object();
      
      System.gc();

      pauseSampling();
      
      var sampleIter = getSamples();
      for each(var s:Sample in sampleIter) {
    //    trace(s);
    if(s is DeleteObjectSample && s.id == id) {
      trace(s.size == size);
    }      
      }       

    }
  }
}

isGetterSetter

()関数 
public function isGetterSetter(obj:Object, qname:QName):Boolean

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

プロパティが get/set 関数によって定義されているかどうかを確認します。プロパティの get/set 関数に対して getInvocationCount() を使用する場合は、まず isGetterSetter() を呼び出し、それが get/set 関数であることを確認してから、getSetterInvocationCount または getGetterInvocationCount を使用してそれぞれの回数を取得します。 Flash Player デバッグ版のみ。

パラメーター

obj:Object — メソッドインスタンスまたはクラスです。
 
qname:QName — qname が undefined の場合は、コンストラクター関数の繰り返し回数を返します。

戻り値
Boolean — プロパティが get/set 関数によって定義されているかどうかを示すブール値です(定義されている場合は true、定義されていない場合は false)。

関連する API エレメント


例  ( この例の使用方法 )

 package 
{
  public function exec3() {}

  import flash.sampler.*;
  import flash.system.*;
  import flash.display.Sprite;
  import flash.utils.*;
  public class getInvocationCountTest extends Sprite
    {
      public function getInvocationCountTest()
    {
      for(var i:int=0;i<10;i++)
        exec();
      for(var i:int=0;i<10;i++)
        exec2();
      for(var i:int=0;i<10;i++)
        exec3();

      // get exec QName
      var execName:QName;
          var name:QName;
      var fooName:QName;
      for each(name in getMemberNames(this)) {
          if(name.localName == "exec")
          execName = name;
          if(name.localName == "foo")
          fooName = name;
      }

      var exec2Name:QName;
      for each(name in getMemberNames(getInvocationCountTest)) {
          if(name.localName == "exec2")
          exec2Name = name;
      }

      // execute get/set
      foo = "bar";

      trace(isGetterSetter(this, fooName));
      trace(getSetterInvocationCount(this, fooName) == 1);
      trace(getGetterInvocationCount(this, fooName) == 0);

      foo;
      
      trace(getSetterInvocationCount(getInvocationCountTest, fooName) == 1);
      trace(getGetterInvocationCount(getInvocationCountTest, fooName) == 1);

      trace(getInvocationCount(this, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, execName) == 10);
      trace(getInvocationCount(getInvocationCountTest, exec2Name) == 10);
      trace(getInvocationCount(getInvocationCountTest, undefined) == 1);
    
      getTimer();
      getTimer();

      trace(getInvocationCount(undefined, new QName("", "trace")) == 9);
      trace(getInvocationCount(undefined, new QName("flash.utils", "getTimer")) == 2);
      trace(getInvocationCount(undefined, new QName("", "exec3")) == 10);

    }

      private function exec():void {}
      private static function exec2():void {}

      private function get foo():String { return "fo"; }
      private function set foo(s:String) { }
      
    }
}

pauseSampling

()関数 
public function pauseSampling():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

サンプリング処理を一時的に停止します。startSampling() を使用してサンプリング処理を再開します。 Flash Player デバッグ版のみ。

関連する API エレメント

sampleInternalAllocs

()関数 
public function sampleInternalAllocs(b:Boolean):void

言語バージョン: ActionScript 3.0

サンプラーに対し、Flash Player からの内部割り当てに NewObjectSamples を作成することを指示します。これを true に設定した場合、割り当てごとに NewObjectSample が生成されます。これらの内部割り当てには、型またはオブジェクトへの参照がありません。 割り当てをトリガーした ActionScript スタックトレースが保持されます。 デフォルトは false で、ActionScript オブジェクトの割り当てのみを収集します。

パラメーター

b:Boolean

setSamplerCallback

()関数 
public function setSamplerCallback(f:Function):void

言語バージョン: ActionScript 3.0

サンプラーのコールバック関数を設定します。この関数は、サンプルストリームがほとんど使い切られると呼び出されます。これは、サンプルバッファーが充填される前にサンプルを処理するために使用されます。 pauseSampling が呼び出された後にコールバックが呼び出され、コールバックが実行された後に startSampling が呼び出されます。

パラメーター

f:Function

startSampling

()関数 
public function startSampling():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

メモリ使用状況 Sample オブジェクトを収集する処理を開始します。 Flash Player デバッグ版のみ。

関連する API エレメント


例  ( この例の使用方法 )

次の例では、サンプリング処理を開始し、収集したオブジェクトを繰り返し処理します。メモリプロファイラーを使用するには、Flash Player デバッグ版の 9.0.115.0 以降が必要です。
package 
{
    import flash.sampler.*
    import flash.system.*
    import flash.display.Sprite
    public class startSampling extends Sprite
    {
        public function startSampling()
        {
            flash.sampler.startSampling();
            for(var i:int=0;i<1000;i++)
                new Object()
            trace(getSampleCount() > 0)
        }
    }
}

stopSampling

()関数 
public function stopSampling():void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0, Flash Player 9.0.115.0

メモリ使用状況 Sample オブジェクトを収集する処理を終了し、サンプリング処理に使用されたリソースを解放します。サンプリング処理を開始するには、startSampling() を使用します。 Flash Player デバッグ版のみ。

関連する API エレメント

[ X ]英語で表示される理由
ActionScript 3.0 リファレンスガイドのコンテンツが英語で表示されます。

ActionScript 3.0 リファレンスガイドのすべての部分がすべての言語に翻訳されているわけではありません。言語エレメントが翻訳されていない場合、そのエレメントは英語で表示されます。例えば、ga.controls.HelpBox クラスはどの言語にも訳されていません。このため、リファレンスガイドの日本語バージョンでは、ga.controls.HelpBox クラスは英語で表示されます。