Java LIGBDX -我的应用程序冻结在中间粘贴瓷砖区域

Java LIGBDX -我的应用程序冻结在中间粘贴瓷砖区域,java,android,eclipse,libgdx,tiled,Java,Android,Eclipse,Libgdx,Tiled,我正在将“摄影机”视口中的瓷砖区域复制到剪贴板。从那里我将剪贴板粘贴回地图的某个区域。像这样: public void render(float delta) { if(camera.frustum.pointInFrustum(0, 0, 0)) { camera.position.x = layer.getWidth() * layer.getTileWidth() / 2; camera.position.y = Gdx.g

我正在将“摄影机”视口中的瓷砖区域复制到剪贴板。从那里我将剪贴板粘贴回地图的某个区域。像这样:

public void render(float delta) {

        if(camera.frustum.pointInFrustum(0, 0, 0)) {
            camera.position.x = layer.getWidth() * layer.getTileWidth() / 2;
            camera.position.y = Gdx.graphics.getHeight();
            camera.frustum.boundsInFrustum(0, 1280, 0, Gdx.graphics.getWidth() / 2 - scrollSpeed, Gdx.graphics.getHeight() / 2 - scrollSpeed, 0);
            clipboard = TileMapCopier.copyRegion(layer, 0, 0, (int) camera.viewportWidth, (int) camera.viewportHeight);
            TileMapCopier.pasteRegion(layer, clipboard, 0, layer.getHeight() / 2);
        }
public TiledMapTile[][] copyRegion(TiledMapTileLayer layer, int x, int y, int width, int height) {
    TiledMapTile[][] region = new TiledMapTile[width][height];

    for (int ix = x; ix < x + width; ix++)
        for (int iy = y; iy < y + height; iy++) {
            Cell cell = layer.getCell(ix, iy);
            if(cell == null)
                continue;

            region[ix - x][iy - y] = cell.getTile();

        }

    return region;
}

public void pasteRegion(TiledMapTileLayer layer, TiledMapTile[][] region, int x, int y) {
    for (int ix = x; ix < x + region.length; ix++)
        for (int iy = y; iy < y + region[ix].length; iy++) {
            Cell cell = layer.getCell(ix, iy);
            if(cell == null) {
                Gdx.app.debug(TileMapCopier.class.getSimpleName(), "pasteRegion: skipped [" + ix + ";" + iy + "]");
                continue;
            }
            cell.setTile(region[ix - x][iy - y]);
        }
}
这只是在我将“复制”方法中的“宽度”和“高度”更改为“复制”视口的“宽度”和“高度”(这是它所需要的)时才开始执行的。但当设置层的宽度和高度时,它并没有这样做


请帮忙?原因可能是什么?我怎么知道呢?

听起来好像你在某处有一个无限循环。这些信息只是垃圾收集器告诉你它正在工作。嗯,无限循环?我应该找什么?我不太确定我在哪里会那样做
05-20 23:55:31.669: D/dalvikvm(1655): GC_CONCURRENT freed 460K, 6% free 11776K/12487K, paused 12ms+23ms, total 60ms