gpt4 book ai didi

android - 多少 Android 生命周期处理太多了?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:07 24 4
gpt4 key购买 nike

可以理解这个问题有点主观,但我相信有一个具体的答案。

我有一个非常小的 Activity ,它只是在 ListActivity 中向用户显示一些数据。我使用的数据来自应用程序的 SQLite 数据库,我发现自己正在这样做

public class MainActivity extends ListActivity{
private DatabaseAdapter dbHelper;
@Override
public void onCreate(Bundle b){
dbHelper = new DatabaseAdapter(this);
super.onCreate(b);
}

@Override
public void onResume(){
dbHelper.open();
fill_data();//a small method that uses dbHelper to setListAdapter
super.onResume();
}

@Override
public void onPause(){
dbHelper.close();
super.onPause();
}

private void fill_data(){/*makes use of dbHelper */ }

这只是代码在很大程度上是不必要的吗?我想处理生命周期,这样当 MainActivity 不在顶部时我可以使用最少的资源,但与此同时,整个 Activity 可以在 onCreate() 中完成.

最佳答案

如果您只是在每次使用 dbHelper 时打开和关闭它,那么您可能无需重写 onPause 方法。打开帮助程序并不是那么密集(我假设是 SQLiteOpenHelper),因此您可能认为它是过早的优化。

无论如何,您几乎总是需要重写 onCreate,经常重写 onResume,有时重写 onPause。重要的是框架何时调用各种回调以及您必须在其中执行的操作。

如果您需要在 Activity 到达前台时执行某些操作,或者如果您想在 Activity 的 Looper 中执行某些操作(例如,位置更新),则必须重写 onResume。如果您需要自己清理,则必须实现 onPause。

我一般不实现 onDestroy,因为它不能保证被调用。

关于android - 多少 Android 生命周期处理太多了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5398035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com