public class MyLifecycleListener implements LifecycleListener {
@Override
public void onInit() {
}
@Override
public void onStart() {
}
@Override
public void onStop() {
}
}
public class Application {
public static void main(String[] args) {
LifecycleManager manager = new LifecycleManager();
manager.addListener(new MyLifecycleListener());
manager.start();
}
}
public class LifecycleManager {
private List<LifecycleListener> listeners = new ArrayList<>();
public void addListener(LifecycleListener listener) {
listeners.add(listener);
}
public void removeListener(LifecycleListener listener) {
listeners.remove(listener);
}
public void start() {
for (LifecycleListener listener : listeners) {
listener.onInit();
listener.onStart();
}
}
public void stop() {
for (LifecycleListener listener : listeners) {
listener.onStop();
}
}
}