Bu paket, Adobe Flash Builder ile dağıtılan profil oluşturma aracısı tarafından kullanılır ve profil oluşturma aracısını özelleştirmek veya kendi bellek testlerinizi oluşturmak üzere kullanmanız için size sağlanır. Bellek kullanımı örnekleri toplamak için
startSampling()
yöntemini ve Flash Player hata ayıklayıcısının 9.0.115.0 veya daha sonraki bir sürümünü kullanın. Daha sonra bellek kullanımı örneklerini almak için
getSamples()
yöntemini kullanın. Örnekler, çalışan bir uygulamanın bağımsız aralıklarının bellek kullanımını gösterir. Daha sonra bellek kullanımı bilgilerini çözümlemek için
flash.sampler
paketindeki diğer yöntemleri kullanın.
Not: Kendi özel profil oluşturma aracınızı oluşturursanız, mm.cfg dosyasında PreloadSwf
özelliğini ayarlayarak aracı SWF dosyasını önceden yükleyin:
PreloadSwf=C:/Documents and Settings/username/testingagent.swf?aparam=asetting
Önceden yüklenen her bir aracı SWF dosyası kendi güvenlik etki alanına sahip olup profili oluşturulan ana SWF dosyasından bağımsız bir güvenlik sanal alanında çalışır. flash.sampler
paketinin yöntemlerinin çalıştırılması için, aracı SWF dosyasının localTrusted dosya yolunda olması gerekir (bkz. Security Center).
Genel Yöntemler
| İşlev | Tanımlayan: |
---|
| |
Geçerli Sample nesneleri kümesini temizler. | flash.sampler |
| |
Bir alma yönteminin çalıştırılma sayısını döndürür. | flash.sampler |
| |
Bir yöntemin çalıştırılma sayısını döndürür. | flash.sampler |
| |
Bir İşlevin sözcük kapsamını gösterir, böylece profil oluşturucu, yakalanan kapsam nesnelerini (etkinleştirme nesneleri ve kapsamı olanlar da dahil) İşlev örneği tarafından korunuyormuş gibi algılar. | flash.sampler |
| |
Bu dizenin bağlı olduğu ana dizeyi veya bu dize başka bir dizeye bağlı değilse null değerini döndürür. | flash.sampler |
| |
Belirtilen nesnenin özel üyeler dahil olmak üzere tüm üyelerini içeren bir nesne döndürür. | flash.sampler |
| |
Toplanan örnek sayısını döndürür. | flash.sampler |
| |
Son örnekleme oturumundan, bir bellek kullanımı Sample örnekleri nesnesi döndürür. | flash.sampler |
| |
Kaydedilen "this"i AS'den normalde göremeyeceğiniz bir Yöntem kapalılığından döndürür. | flash.sampler |
| |
Bir ayarlama yönteminin çalıştırılma sayısını döndürür. | flash.sampler |
| |
Flash Player 9.0.115.0 veya daha sonraki hata ayıklayıcı sürümüyle kullanıldığında belirtilen nesnenin belleğindeki boyutu döndürür. | flash.sampler |
| |
Bir özelliğin alma/ayarlama işlevi tarafından tanımlanıp tanımlanmadığını kontrol eder. | flash.sampler |
| |
Örnekleme işlemini geçici olarak durdurur. | flash.sampler |
| |
Örnekleyiciye, flash player'dan dahili ayırmalar için NewObjectSamples oluşturup oluşturmaması gerektiğini bildirir. | flash.sampler |
| |
Örnekleyici için bir geri dönüş işlevi ayarlar - bu işlev, örnek akışı neredeyse bittiğinde çağrılır. | flash.sampler |
| |
Bellek kullanımı Sample nesnelerini toplama işlemini başlatır. | flash.sampler |
| |
Bellek kullanımı Sample nesnelerini toplama işlemini sonlandırır ve örnekleme işlemi için atanan kaynakları serbest bırakır. | flash.sampler |
public function clearSamples():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Geçerli Sample nesneleri kümesini temizler. Bu yöntem, genellikle getSamples()
öğesi çağrıldıktan ve Sample nesneleri adımlandıktan sonra çağrılır. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
İlgili API Öğeleri
public function getGetterInvocationCount(obj:Object, qname:QName):Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bir alma yönteminin çalıştırılma sayısını döndürür. getGetterInvocationCount()
öğesini kullanmadan önce, alma/ayarlama işlevinizin olduğunu doğrulamak için isGetterSetter()
öğesini kullanın. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Parametreler
| obj:Object — Bir yöntem örneği veya sınıfı.
|
|
| qname:QName — qname öğesi undefined ise, yapıcı işlevinin adımlama sayısını döndürür.
|
Döndürür | Number — Bir alma yönteminin çalıştırılma sayısı.
|
İlgili API Öğeleri
public function getInvocationCount(obj:Object, qname:QName):Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bir yöntemin çalıştırılma sayısını döndürür. obj
parametresi bir Class ise ve qname
parametresi undefined
ise bu yöntem yapıcı işlevinin adımlama sayısını döndürür. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Parametreler
| obj:Object — Bir yöntem örneği veya sınıfı. Bir sınıf, yöntem örneği mevcut olmadığında örnek işlevlerinin yürütme sayısını elde etmek için kullanılabilir. obj öğesi undefined ise bu yöntem qname tarafından adlandırılan paket kapsamlı işlev sayısını döndürür.
|
|
| qname:QName — qname öğesi undefined ise, yapıcı işlevinin adımlama sayısını döndürür.
|
Döndürür | Number — Bir yöntemin çalıştırılma sayısını döndürür.
|
Örnek (
Bu örnek nasıl kullanılır? )
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) { }
}
}
public function getLexicalScopes(obj:Function):Array
Bir İşlevin sözcük kapsamını gösterir, böylece profil oluşturucu, yakalanan kapsam nesnelerini (etkinleştirme nesneleri ve kapsamı olanlar da dahil) İşlev örneği tarafından korunuyormuş gibi algılar.
Parametreler
Döndürür | Array — Bir dizi tüm sözcük kapsamı öğelerini içerir
|
public function getMasterString(str:String):String
Dil Sürümü: | ActionScript 3.0 |
Bu dizenin bağlı olduğu ana dizeyi veya bu dize başka bir dizeye bağlı değilse null değerini döndürür. Örneğin String.substr()
öğesini çağırırsanız, döndürülen dize genellikle verimlilik nedeniyle gerçekte yalnızca orijinal dizeye bir işaretçi olarak uygulanır. Normal kullanımda bu kullanıcıya görünmeyen bir uygulama ayrıntısıdır; ancak programınızın bellek tüketimini analiz etmek için bir profil oluşturucu kullanıldığında bu durum karmaşık olabilir; çünkü dize, dizenin değeri için gerekli olan miktardan daha az bellek kullanıyor gibi gösterilebilir. Ayrıca bir dize, yalnızca diğer dizeler için ana dize konumunda olduğundan bellekte korunabilir. getMasterString()
, profil oluşturucuların kullanıcıya dize bağımlılıklarının doğru bir grafiğini göstermesini sağlar.
Parametreler
Döndürür | String — İletilen dizenin bağlı olduğu dize veya iletilen dizenin bağlı olduğu bir dize yoksa null değeri
|
public function getMemberNames(o:Object, instanceNames:Boolean = false):Object
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Belirtilen nesnenin özel üyeler dahil olmak üzere tüm üyelerini içeren bir nesne döndürür. Ardından, tüm değerleri görmek için döndürülen nesneyi adımlayabilirsiniz. Bu yöntem flash.utils.describeType() yöntemine benzerdir, ancak bunun yanı sıra özel üyeleri görmenizi sağlar ve XML nesnesi oluşturma işleminin orta adımını atlar. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Parametreler
| o:Object — Çözümlenecek nesne.
|
|
| instanceNames:Boolean (default = false ) — Nesne bir Class sınıfı ve instanceNames true ise, örnek adlarını sınıfın üye adları yerine sınıf örneği olarak bildirin.
|
Döndürür | Object — Her bir özellik için QNames öğesini almak üzere for each.. in döngüsüyle adımlamanız gereken bir Object.
|
İlgili API Öğeleri
Örnek (
Bu örnek nasıl kullanılır? )
Aşağıdaki örnek, bir nesneyi çözümlemek için
getMemberNames()
yöntemini kullanır ve üyelerinin
buttonMode
,
filters
ve
dispatchEvent
özelliklerini görüntüler. Bellek profilcisini kullanmak için Flash Player hata ayıklayıcı sürüm 9.0.115.0 veya daha sonrasını yüklemeniz gerekir.
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);
}
}
}
public function getSampleCount():Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Toplanan örnek sayısını döndürür. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Döndürür | Number — Sample örnekleri adımlayıcısı.
|
İlgili API Öğeleri
public function getSamples():Object
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Son örnekleme oturumundan, bir bellek kullanımı Sample örnekleri nesnesi döndürür. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Döndürür | Object — Sample örnekleri adımlayıcısı.
|
İlgili API Öğeleri
public function getSavedThis(obj:Function):Object
Kaydedilen "this"i AS'den normalde göremeyeceğiniz bir Yöntem kapalılığından döndürür.
Parametreler
Döndürür | Object — MethodClosure öğesinin "this"i olan bir nesne
|
public function getSetterInvocationCount(obj:Object, qname:QName):Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bir ayarlama yönteminin çalıştırılma sayısını döndürür. getSetterInvocationCount()
öğesini kullanmadan önce, alma/ayarlama işlevinizin olduğunu doğrulamak için isGetterSetter()
öğesini kullanın. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Parametreler
| obj:Object — Bir yöntem örneği veya sınıfı.
|
|
| qname:QName — qname öğesi undefined ise, yapıcı işlevinin adımlama sayısını döndürür.
|
Döndürür | Number — Bir yöntemin çalıştırılma sayısı.
|
İlgili API Öğeleri
public function getSize(o:*):Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Flash Player 9.0.115.0 veya daha sonraki hata ayıklayıcı sürümüyle kullanıldığında belirtilen nesnenin belleğindeki boyutu döndürür. Hata ayıklayıcı sürümü olmayan bir Flash Player ile kullanıldığı takdirde bu yöntem 0
döndürür.
Parametreler
| o:* — Bellek kullanımı için çözümlenecek nesne.
|
Döndürür | Number — Belirtilen nesne tarafından kullanılan belleğin bayt sayısı.
|
Örnek (
Bu örnek nasıl kullanılır? )
Aşağıdaki örnek, Sample nesnelerini toplamak için
startSampling()
ve
pauseSampling
öğelerini kullanır. Böylece örnek,
id
değerleri ve boyutları için Sample nesnelerini adımlar. Geçerli işlemi durdurmak için
System.gc()
nesnesini çağırdıktan sonra örnek, deletedObjectSample nesnelerini orijinal
id
değerleriyle karşılaştırır ve boyutlarını görüntüler. Bellek profilcisini kullanmak için, Flash Player hata ayıklayıcı sürüm 9.0.115.0 veya daha sonrasının yüklü olması gerekir.
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);
}
}
}
}
}
public function isGetterSetter(obj:Object, qname:QName):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bir özelliğin alma/ayarlama işlevi tarafından tanımlanıp tanımlanmadığını kontrol eder. Bir özellik için get/set işlevinde getInvocationCount()
öğesini kullanmak isterseniz, öncelikle bir get/set işlevi olup olmadığını kontrol etmek için ilk önce isGetterSetter()
öğesini çağırın; ardından sırayla sayıları elde etmek içingetSetterInvocationCount
veya getGetterInvocationCount
öğesini kullanın. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
Parametreler
| obj:Object — Bir yöntem örneği veya sınıfı.
|
|
| qname:QName — qname öğesi undefined ise, yapıcı işlevinin adımlama sayısını döndürür.
|
Döndürür | Boolean — Bir özelliğin alma/ayarlama işlevi (true ) tarafından tanımlanıp tanımlanmadığını (false ) belirten Boolean değeri.
|
İlgili API Öğeleri
Örnek (
Bu örnek nasıl kullanılır? )
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) { }
}
}
public function pauseSampling():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Örnekleme işlemini geçici olarak durdurur. Örnekleme işlemini, startSampling()
kullanarak yeniden başlatın. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
İlgili API Öğeleri
public function sampleInternalAllocs(b:Boolean):void
Dil Sürümü: | ActionScript 3.0 |
Örnekleyiciye, flash player'dan dahili ayırmalar için NewObjectSamples oluşturup oluşturmaması gerektiğini bildirir. True değerine ayarlanırsa, her ayırma bir NewObjectSample oluşturur. Bu dahili ayırmaların bir türü veya Object başvurusu yoktur. Ayırmayı tetikleyen ActionScript yığın izine sahiptir. Varsayılan olarak false olup yalnızca ActionScript nesneleri için ayırmaları toplar.
Parametreler
public function setSamplerCallback(f:Function):void
Dil Sürümü: | ActionScript 3.0 |
Örnekleyici için bir geri dönüş işlevi ayarlar - bu işlev, örnek akışı neredeyse bittiğinde çağrılır. Bu, örnek arabelleği dolmadan önce örnekleri işlemek için kullanılmalıdır. Geri çağrı çağrılmadan önce pauseSampling çağrılır ve geri çağrı çalıştırıldıktan sonra startSampling çağrılır.
Parametreler
public function startSampling():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bellek kullanımı Sample nesnelerini toplama işlemini başlatır. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
İlgili API Öğeleri
Örnek (
Bu örnek nasıl kullanılır? )
Aşağıdaki örnek, örnekleme işlemini başlatır ve toplanan nesneleri adımlar. Bellek profilcisini kullanmak için, Flash Player hata ayıklayıcı sürüm 9.0.115.0 veya daha sonraki sürümlerinin yüklenmiş olması gerekir.
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)
}
}
}
public function stopSampling():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.115.0 |
Bellek kullanımı Sample nesnelerini toplama işlemini sonlandırır ve örnekleme işlemi için atanan kaynakları serbest bırakır. Örnekleme işlemini startSampling()
öğesiyle başlatırsınız. Yalnızca Flash Player'ın hata ayıklayıcı sürümünde geçerlidir.
İlgili API Öğeleri
© 2015 Adobe Systems Incorporated. All rights reserved.
Tue Jun 12 2018, 01:25 PM Z