前言
为什么要让组件感知生命周期?
Android中大多数应用程序组件都附带有生命周期。 生命周期由操作系统或你使用的框架管理。 生命周期是Android核心而基础的东西,如果不按照生命周期写代码,可能会触发内存泄漏甚至是应用程序崩溃。
而在Api26.1.0
之前,自定义UI控件或其他的组件的生命周期都是由我们手动管理的。如果我们让这些组件和Activity/Fragment 一样具有生命周期。那么我们将不用在Activity/Fragment中同步组件的生命周期事件。
例子
举个例子。如果我们想要获取位置信息,常见的写法是这个样子的:
class MyLocationListener {
public MyLocationListener(Context context, Callback callback) {
// ...
}
void start() {
// connect to system location service
}
void stop() {
// disconnect from system location service
}
}
class MyActivity extends AppCompatActivity {