Vector にちょっとずつ要素を追加してみるテスト
0 ~ 9 のキーでちょっとずつ追加していきます。
* 増やす量は以下の通り
* 1 キー: 1
* 2 キー: 10
* 3 キー: 100
* (省略)
* 8 キー: 10000000
* 9 キー: 20000000
* 0 キー: 50000000
* 後半のキーを一気に連打したりすると本来よりも早くブラウザが落るけど、
* 丁寧にやっていくと自分の環境では必ず 97338788 の次で落ちた。
♥0 |
Line 69 |
Modified 2010-04-18 17:24:00 |
MIT License
archived:2017-03-29 11:04:23
ActionScript3 source code
/**
* Copyright mezumona ( http://wonderfl.net/user/mezumona )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/fCSH
*/
/**
* 0 ~ 9 のキーでちょっとずつ追加していきます。
* 増やす量は以下の通り
* 1 キー: 1
* 2 キー: 10
* 3 キー: 100
* (省略)
* 8 キー: 10000000
* 9 キー: 20000000
* 0 キー: 50000000
* 後半のキーを一気に連打したりすると本来よりも早くブラウザが落るけど、
* 丁寧にやっていくと自分の環境では必ず 97338788 の次で落ちた。
*/
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.system.System;
import flash.text.TextField;
[SWF(frameRate="1")]
public class VectorTest extends Sprite
{
public function VectorTest()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
public function init(event:Event = null):void
{
message.width = stage.stageWidth;
message.height = stage.stageHeight;
stage.addChild(message);
stage.addEventListener(KeyboardEvent.KEY_DOWN, stageKeyDownHandler);
if (event) removeEventListener(Event.ADDED_TO_STAGE, init);
}
private var message:TextField = new TextField();
private var vec:Vector.<int> = new Vector.<int>();
public function stageKeyDownHandler(event:KeyboardEvent):void
{
var i:int = vec.length;
var l:int = vec.length;
var keycode:uint = event.keyCode;
switch(keycode) {
case 49:
l += 1;
break;
case 50:
l += 10;
break;
case 51:
l += 100;
break;
case 52:
l += 1000;
break;
case 53:
l += 10000;
break;
case 54:
l += 100000;
break;
case 55:
l += 1000000;
break;
case 56:
l += 10000000;
break;
case 57:
l += 20000000;
break;
case 48:
l += 50000000;
}
for (; i < l; ++i) vec[vec.length] = 0;
message.text = [
vec.length,
System.totalMemory
].join("\n");
}
}
}