Activity Lifecycle Methods
onCreate() Called when activity first created
onRestart() Called after activity stopped, prior to restarting
onStart() Called when activity is becoming visible to user
onResume() Called when activity starts interacting with user
onPause() Called when a previous activity is about to resume
onStop() Called when activity no longer visible to user
onDestroy() Final call received before activity is destroyed
-----------------
Creational patterns:
Builder (e.g. AlertDialog.Builder)
Dependency Injection (e.g. Dagger 2)
Singleton
Structural patterns:
Adapter (e.g. RecyclerView.Adapter)
Facade (e.g. Retrofit)
Behavioral patterns:
Command (e.g. EventBus)
Observer (e.g. RxAndroid)
Model View Controller
Model View ViewModel (similar to the MVC pattern above)