Passing lambdas to functions in Kotlin can cause runtime overhead. Correct use of the inline modifier can remove these runtime overhead and improve performance.
Kotlin’s by keyword allows us to easily implement the Delegation Pattern. When we use Kotlin’s by keywords, we don’t need to implement these delegation code. This makes the code quite compact.
Contacts Provider is an Android built-in content provider. It manages contacts in the system. Android’s Contacts app also accesses contact information through the contacts provider.
Content Provider is one of the four application components of Android. It can help app manage data stored in itself or in other apps, and provide a way to share data with other apps.
In some cases, we may need to detect when app enters the background or foreground. For example, we want to know how much time users spend using our app.
KDoc is the language for documenting Kotlin code, and Dokka is the engine for generating documentation from KDoc. Dokka can generate documentation in pretty nice HTML format.
The Android Broadcast Receiver component allows an app to receive messages from the Android system or other apps, and to send messages to other components of the app itself, or to other apps. It is similar to the publish-subscribe design pattern.
Android Bound Service is a client-server architecture. It allows Android components (clients) to bind Service (server) to send requests and even perform interprocess communication (IPC).