【问题标题】:Android SurfaceView consumes memory after closingAndroid SurfaceView关闭后消耗内存
【发布时间】:2015-09-12 22:32:33
【问题描述】:

Android SurfaceView 在完成 Activity 并杀死线程后仍然会消耗内存。每次我重新启动游戏(关闭和打开)时,内存使用量都会增加。想不通:( 表面销毁方法:

@Override
    public void surfaceDestroyed(SurfaceHolder holder){

                holder.lockCanvas();
                thread.setRunning(false);
                thread.join();
                retry = false;
                thread=null;


        }

    }

创建的表面:

@Override
    public void surfaceCreated(SurfaceHolder holder)
    {
        thread = new MainThread(getHolder(), this);
        thread.setRunning(true);
        if(thread.getState() == Thread.State.NEW)
        thread.start();

}

此方法完成活动:

private  void restart()
    {
        thread = new MainThread(getHolder(), this);
        thread.setRunning(false);
        thread=null;
            ((Activity) getContext()).finish();
    }

【问题讨论】:

  • 您能提供更多信息吗?
  • 任何一段代码都对分析很有帮助:)
  • 我添加了一些方法。感谢回复!
  • 改了一些代码,还是什么都没有

标签: android memory surfaceview


【解决方案1】:

我通过将 lauchMode 设置为 singleTask 解决了这个问题。多亏了这个:Memory and Activities :: OutOfMemory

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多