Activity中使用Timer,Activity销毁后Timer仍然运行

小小开发 发布于 2014/07/19 16:29
阅读 2K+
收藏 0
public class MainActivity extends Activity {


private Timer timer=null;
private Handler handler=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}

handler=new Handler()
{
@Override
public void handleMessage(Message msg) 
{
super.handleMessage(msg);

if(msg.what==100)
{
Toast.makeText(MainActivity.this, "time", Toast.LENGTH_SHORT).show();
}


};
};

timer=new Timer(true);
timer.schedule(task, 0,10000);
}


TimerTask task=new TimerTask()
{

@Override
public void run() {
// TODO Auto-generated method stub
Message msg=new Message();
msg.what=100;
handler.sendMessage(msg);

}
};

}

在MainActivity中定义了一个Timer,然后每隔10秒就会发送消息,用Toast弹出提示信息。当MainActivity销毁后(确定是销毁,不是停止),在桌面上仍然弹出提示信息,也就是Timer仍然在运行。我的问题是既然MainActivity对象销毁了,Timer对象,Handler对象也随之销毁,那么为什么还会弹出提示信息。顺便说一下我是android初学者,java语言也不是很精通。麻烦高高手帮我一下,谢谢!


加载中
0
obaniu
obaniu
onDestory时调用timer stop
返回顶部
顶部