为什么要使用onFreeze()?

4

我在一篇Android教程中看到了这个函数的使用。他用它来恢复应用程序的上一个会话,但问题是我无法在我的类中覆盖此函数,而且我的类和他的类都继承自ListActivity。

@Override
    protected void onFreeze(Bundle outState) {
        super.onFreeze(outState);
        outState.putLong("feed_id", feed.feedId);
        outState.putString("title", feed.title);
        outState.putString("url", feed.url.toString());
    }

之前我还遇到了一些函数调用的问题,例如在处理ArrayList时,他调用list.next(),而我却没有这样的函数,所以我使用了list.MoveToNext()。这可能是因为我使用的是不同版本的Android(我使用的是1.6),那么应该使用什么来替代这个函数呢?

2个回答

9

我认为这个教程非常老旧。实际上,onFreeze()方法已不再使用。从 2008年8月发布的Android 0.9 SDK Beta版本说明 中可以看到:

onFreeze(Bundle)被重命名为onSaveInstanceState(Bundle),以更好地反映它并不代表应用程序生命周期中的实际变化。


谢谢你的回答,我猜想Android SDK可能有一些变化。 - Kex

1

你是对的,朋友,它被重命名为

@Override 

onSaveInstanceState(Bundle outState)

{

//TODO auto generated block

super.onSaveInstanceState(outState);

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接