LifeCycle
ViewModule
DataRoom
随着Android的发展,应用的规模越来越大,越来越复杂,原来应用的一些弊病也越来越明显,比如业务代码和逻辑代码混到一起,UI代码和业务代码混合,架构不清晰,不方便做自动化测试,资源泄露等各种问题都越来越多。Google团队也在努力推动这些问题的解决,Android Architecture Component就是为了解决这些问题而推出的一些架构组件。
class MyActivity extends AppCompatActivity {
private MyLocationListener myLocationListener;
public void onCreate(...) {
myLocationListener = new MyLocationListener(this, location -> {
// update UI
});
}
public void onStart() {
super.onStart();
Util.checkUserStatus(result -> {
// what if this callback is invoked AFTER activity is stopped?
if (result) {
myLocationListener.start();
}
});
}
public void onStop() {
super.onStop();
myLocationListener.stop();
}
}