首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Activity中static静态变量释放的有关问题

2012-05-08 
Activity中static静态变量释放的问题import android.app.Activityimport android.os.Bundleimport andro

Activity中static静态变量释放的问题

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class ErrorTestActivity extends Activity {
  /** Called when the activity is first created. */
  private static boolean Flag = false;
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Log.i("wangchao","wocao"+Flag);
  Flag = true;
   
  }
}

程序第一次运行,打印信息为false,之后推出程序,再次运行,打印信息为true。
当程序退出的时候,定义的Flag不会被销毁么?为什么还会保留下来?
什么时候才能销毁static变量呢?

[解决办法]

探讨

在DDMS中查看,会发现推出了Activity,但是线程列表中依然有这个线程。

我试了一下,重写了onDestory,在onDestory里添加android.os.Process.killProcess(android.os.Process.myPid());把线程干掉,再次调用就正常了。
也就是说线程没有销毁,那么资源就没有释放。

热点排行