我有 Android 应用程序和自己的应用程序派生类,其中包含一些内部数据。除其他外,还有一些字符串字段。问题是,如果我将应用程序置于前台,在其他应用程序上工作,再次切换回我的应用程序,该应用程序可能会重新启动,因为它被系统杀死了。不幸的是,应用程序对象似乎没有被再次创建,因为应用程序对象的 onCreate 方法没有被调用并且所有字段都设置为空。我的活动被重新创建,但所有应用程序的对象字段都是空的。什么时候调用 Application.onCreate 方法?如何处理?
问问题
387 次
2 回答
1
没有可以注册的 onCreate。
在后来的 API 中,有一种方法可以注册到 Activity 生命周期函数。然后你可以做任何你想做的事。
基本上,您应该做的是SharedPrefrences
用于存储信息。
我要做的是:
class MyApp extends Application {
private static String someResource = null;
public static String getSomeResource(Context context) {
if(someResource == null) {
SharedPrefrences prefs = (SharedPrefrences)
context.getSystemService(Context.SHARED_PREFRENCES);
someResource = prefs.getString(SOME_RESOURCE, null);
}
return someResource;
}
于 2012-12-31T11:53:49.003 回答
0
应用程序 onCreate() 在其生命周期内只会调用一次,即。仅在应用程序启动时。
正如thepoosh 所建议的,下面的答案是有效的,如果您的应用程序被杀死,数据仍然保存在共享首选项中。
于 2012-12-31T12:19:27.347 回答