What is inline class in Kotlin and when do we need one? Provide an example. What is inline class in Kotlin and when do we need one? Provide an example. Senior Answer Sometimes it is necessary for business logic to create a wrapper around some type. However, it introduces runtime overhead due to additional heap allocations. Moreover, if the wrapped type is primitive, the performance hit is terrible, because primitive types are usually heavily optimized by the runtime. Inline classes provide us with a way to wrap a type, thus adding functionality and creating a new type by itself. As opposed to regular (non-inlined) wrappers, they will benefit from improved performance. This happens because the data is inlined into its usages, and object instantiation is skipped in the resulting compiled code. inline class Name ( val s : String ) { val length : Int get ( ) = s . length fun greet ( ) { println ( "Hello, $s " ) } } fun ma...
Building scalable Android apps requires clean architecture—and one of the best ways to manage your UI and logic is by combining MVVM with Jetpack Compose . However, API calls can get messy when not structured properly. In this post, I’ll show you how to build a reusable, clean API call structure using MVVM that works for any screen in your app. We'll use: ViewModel to manage UI-related data Repository for business logic and network State management using mutableStateOf Retrofit for networking This is not tied to any specific screen (like sliders, onboarding, etc.)—you can plug in your own model and API. Why a Reusable Pattern? Apps often repeat the same logic: Show loader Fetch data Handle errors Update UI Instead of repeating it everywhere, we'll abstract it once and just extend or plug in what’s needed per screen. 1. Define a Generic API Result Wrapper This wrapper lets us handle success, loading, and error states in a consisten...
1) What are the four essential states of an activity? Active – if the activity is at the foreground Paused – if the activity is at the background and still visible Stopped – if the activity is not visible and therefore is hidden or obscured by another activity Destroyed – when the activity process is killed or completed terminated 2) What is a visible activity? A visible activity is one that sits behind a foreground dialog. It is actually visible to the user, but not necessarily being in the foreground itself. 3) When is the best time to kill a foreground activity? The foreground activity, being the most important among the other states, is only killed or terminated as a last resort, especially if it is already consuming too much memory. When a memory paging state has been reach by a foreground activity, then it is killed so that the user interface can retain its responsiveness to the user. 4) What are the four essential states of an activity? Ans. Active, Paused, Stopped and Des...
Comments
Post a Comment