首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Haxe/openfl文本字段内存泄漏

Haxe/openfl文本字段内存泄漏
EN

Stack Overflow用户
提问于 2015-05-28 12:10:14
回答 1查看 451关注 0票数 2

我正在学习一些带有openfl的Haxe,并将图片和文本添加到屏幕上,并这样做了。

我从使用openfl通过命令行创建一个项目开始,添加了一个更新框架事件侦听器、一个图片和文本。

代码语言:javascript
复制
addChild(myText);
stage.addEventListener(Event.ENTER_FRAME, update);
bonzi = new Bitmap(Assets.getBitmapData("assets/bonzi.jpg"));
addChild(bonzi);

在update()方法中,我将:

代码语言:javascript
复制
bonzi.rotation += 4;
myText.text = bonzi.rotation;

这就像预期的一样,bonzi.jpg在左上角旋转,在同一个角落有一个文本字段显示旋转。

现在的问题是:如果我让它运行30秒,程序已经消耗了1.8GB的内存,并且运行得非常慢,占用了1863.6 Mb的内存。最终,myText在程序运行慢了大约20秒后消失了,这使得棒子几乎正常地旋转,但仍然占用了相同的内存。即使我加上

代码语言:javascript
复制
if (bonzi.rotation >= 360) bonzi.rotation -= 360;

对于更新循环,以确保旋转保持在0;360范围内,同样的事情会发生。

但奇怪的是,如果我更改了任何东西,使myText不改变更新方法中的,那么内存的使用将保持正常(15-30Mb),例如将Std.string(bonzi.rotation)更改为Std.string("Hi")或bozi.rotation += 4更改为bozi.rotation =4。

我不明白为什么会发生这种事。这是非常不方便的,因为我计划在未来大量使用文本字段。

编辑:我的完整代码通过cpp - test通过openfl运行。

代码语言:javascript
复制
package;

import openfl.display.Sprite;
import openfl.display.Bitmap;
import openfl.Assets;
import openfl.text.TextField;
import openfl.events.Event;
import openfl.system.System;

class Main extends Sprite {

    public var bonzi:Bitmap;
    public var myText:TextField = new TextField();

    public function new() {
        super();

        addChild(myText);
        stage.addEventListener(Event.ENTER_FRAME, update);

        bonzi = new Bitmap(Assets.getBitmapData("assets/bonzi.jpg"));
        addChild(bonzi);
        bonzi.rotation = 260;
        myText.text = Std.string(bonzi.rotation);
    }


    public function update(e:Event):Void {
        bonzi.rotation += 4;
        if (bonzi.rotation >= 180) bonzi.rotation -= 360;

        myText.text = Std.string(bonzi.rotation);
    }   
}
EN

回答 1

Stack Overflow用户

发布于 2015-06-01 11:50:04

你的代码对我来说似乎不是问题..。

您应该在github存储库中提交一个问题:

https://github.com/openfl/openfl/issues

请包括一个完整的可运行的样本,以便他们更容易采取行动。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30506202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档