- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
可以理解这个问题有点主观,但我相信有一个具体的答案。
我有一个非常小的 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/
我正在开发一个使用多个 turtle 的滚动游戏。玩家 turtle 根据按键命令在 Y 轴上移动。当危害和好处在 X 轴上移动时,然后循环并改变 Y 轴位置。我尝试定义一个名为 colliding(
我不明白为什么他们不接受这个作为解决方案,他们说这是一个错误的答案:- #include int main(void) { int val=0; printf("Input:- \n
我正在使用基于表单的身份验证。 我有一个注销链接,如下所示: 以及对应的注销方法: public String logout() { FacesContext.getCurren
在 IIS7 应用程序池中有一个设置 Idle-time out 默认是 20 分钟,其中说: Amount of time(in minutes) a worker process will rem
我是一名优秀的程序员,十分优秀!