【发布时间】:2012-07-21 16:49:09
【问题描述】:
这里是 Android 新手,我有一些代码要在我的 android 应用程序第一次启动时运行。它检查本地数据库的版本,如果当前版本过时,则下载新版本。我一直坚持在我的第一个活动的 oncreate 中,很确定必须有一个更好的地方来放置它。有什么推荐的地方我可以把它放在启动时会被调用一次的地方吗?
【问题讨论】:
-
为什么说应该有更好的地方放启动代码呢? OnCreate() 应该做你想做的事..
-
制作一个加载屏幕活动并在其中添加您的版本检查代码。
-
Snailer 如果我将代码留在活动中,然后我需要暂停或重新创建活动,那么代码会被一遍又一遍地调用。
-
@user1509590,任何
onCreate都会发生这种情况。如果您想在您的应用程序生命周期中执行一次代码,请保持状态(例如,保存到SharedPreferences)并标记您的代码,以使其不再被调用。这就是我们生成和持久化的方式,例如 UUID 安装 ID。 -
只是为了澄清问题:我并不是说
SharedPreferences是(部分)解决方案。我正在解决 OP,它似乎特别担心有一个代码块(理论上任何代码块)“一遍又一遍”运行,因为它在Activity中,而实际上,Application 对象可能如果您的应用由于内存原因不断被系统终止,则重新创建的次数比一个特定的 Activity(尤其是“加载”Activity)要多。
标签: android