通常应在 Android 生命周期方法中实施哪些应用程序操作
What application operations should normally be implemented in Android Lifecycle Methods
我是 Android 开发的新手。通过阅读此 post,我完全理解 Android Lifecycle
以及每个 Lifecycle method
的目的是什么。
但是通常应该在这些生命周期方法中的每一个中实现什么代码语句(操作)(onCreate
、onStart
、onResume
等等)。
例如,我发现几乎所有的UI interactions
操作都是在onCreate
方法中实现的。我的意思是通过 findViewById
链接 UI 视图,并通过 setOnClickListener
.
在这些视图上定义点击事件侦听器
在这种现象下,其他Lifecycle methods
一般都进行什么样的操作?
会是这样的:
onCreate:
findViewById
次查找
- 设置视图监听器
- 打开数据库连接
- 初始化第三方库
- 初始化Loaders
- 打开文件
启动时:
- 打开远程资源
- 注册BroadcastReceivers
恢复时:
- 初始化动画
暂停:
- 准备好在 onSaveInstanceState 包中保存变量
- 如果isFinishing为真,开始清理资源。
停止:
- 取消注册 BroadcastReceivers
- 关闭游标
- 关闭远程资源
- 关闭文件
- 清除重引用(Bitmaps/Videos)
- 清除WebView缓存
- 发布 MediaPlayer 参考文献。
onDestroy:
- 明确引用其他所有内容(在某些情况下不会调用)
我是 Android 开发的新手。通过阅读此 post,我完全理解 Android Lifecycle
以及每个 Lifecycle method
的目的是什么。
但是通常应该在这些生命周期方法中的每一个中实现什么代码语句(操作)(onCreate
、onStart
、onResume
等等)。
例如,我发现几乎所有的UI interactions
操作都是在onCreate
方法中实现的。我的意思是通过 findViewById
链接 UI 视图,并通过 setOnClickListener
.
在这种现象下,其他Lifecycle methods
一般都进行什么样的操作?
会是这样的:
onCreate:
findViewById
次查找- 设置视图监听器
- 打开数据库连接
- 初始化第三方库
- 初始化Loaders
- 打开文件
启动时:
- 打开远程资源
- 注册BroadcastReceivers
恢复时:
- 初始化动画
暂停:
- 准备好在 onSaveInstanceState 包中保存变量
- 如果isFinishing为真,开始清理资源。
停止:
- 取消注册 BroadcastReceivers
- 关闭游标
- 关闭远程资源
- 关闭文件
- 清除重引用(Bitmaps/Videos)
- 清除WebView缓存
- 发布 MediaPlayer 参考文献。
onDestroy:
- 明确引用其他所有内容(在某些情况下不会调用)