5

我在编写 AS3 期间遇到了内存泄漏问题。

我尝试在 as3 中格式化文本并将其添加到舞台上,但发生了一些疯狂的事情。

这是我的代码的一部分:

var format:TextFormat = new TextFormat();
        format.size = 60;

        var t:TextField = new TextField();
        t.autoSize = TextFieldAutoSize.LEFT;
        t.text = "WWWWWWWWWWWWWWWW";
        t.setTextFormat(format);
        t.scaleX = 1;
        t.scaleY = 1;

        this.addChild(t);

当我将此文本字段添加到我的舞台并使用 adobe scout CC 检查内存使用情况时,“其他位图内存”没有显示任何奇怪的东西并且表现得很好。

但...

当我运行此代码并在文本中添加大写 W 时,“其他位图内存”会发疯。

疯狂的是,当我在文本中添加一个字母 I 时,它运行正常。

我认为这与字体的宽度或大小有关。增加字体大小会产生同样的问题。

有谁现在如何防止这个问题???

我正在使用 adobe flash builder 4.7 和 adobe scout cc。

4

2 回答 2

2

正如您所说,嵌入式字体将解决此问题。在我使用 as3 的所有时间里,我只遇到过两个诚实的错误,这些错误实际上阻止了我做代码应该做的事情。两者都以非常晦涩的方式涉及文本字段和字体操作。

于 2014-12-18T11:57:39.707 回答
0

我刚刚遇到了同样的问题,即Scout 中显示的Other Bitmap Memory确实奇怪地增加了并且再也没有回来。

renderMode似乎也对这个问题有影响:

在应用描述符 XML 文件中将渲染模式设置为cpu确实可以防止内存增加。

当渲染模式设置为自动(默认)时,内存只会在应用程序处于全屏模式时增加。

如果将其设置为直接,则无论应用程序是否全屏,它都会增加。

在 renderMode gpu上它也总是会增加。

更改火花“标签”中的特定符号可能最终会阻止内存增加,但它太宽泛而无法缩小范围。

于 2015-12-08T08:29:42.427 回答