Skip to main content

Thread vs Service in Android - ABNHive

The thread is part of your program functionality that can run in parallel with the main application execution process (or thread). It runs withing a process. The process may contain only, and that’s rare one thread and mostly contains multiple threads. Threads share the same resources and memory. Creating new thread need very less work that creating a new process.


Use a Thread when

  • The app is required to be visible when the operation occurs.
  • background operation is relatively short running (less than a minute or two)
  • the activity/screen/app is highly coupled with the background operation, the user usually 'waits' for this operation to finish before doing anything else in the app. Using a thread in these cases leads to cleaner, more readable & maintainable code. That being said its possible to use a Service( or IntentService).

Use a Service when

  • The app could be invisible when the operation occurs (Features like Foreground service could help with operations being interrupted)
  • The user is not required to 'wait' for the operation to finish to do other things in the app.
  • The app is visible and the operation is independent of the app/screen context.


Comments

Popular posts from this blog

Shortcuts in Android Studio for Android Developers - ABNHive

I hope these shortcuts will definitely help you to increase the productivity level. Search for command: cmd + shift + a ( Windows / Linux : ctrl +  shift + a) You just type: close and you’ll get a proper shortcut/command. Choose from the last copy / pastes : cmd +  shift  + v ( Windows / Linux : Ctrl + Shift + v). By default, there are 5 last copy/paste items. Enable mulmulti cursorature: ctrl + g (alt + j for Windows / Linux ). Open a class: cmd + o ( Windows / Linux : ctrl + n). Open any file: cmd + shift + o ( Windows / Linux : ctrl + shift + n) Open symbol:  cmd + option + o ( Windows / Linux : alt + shift + n). Go to implementation: cmd + option + b ( Windows / Linux : ctrl + alt + b). Go to declaration: cmd + b ( Windows / Linux : ctrl + b).  Go to type declaration: control + shift + b ( Windows / Linux : ctrl + shift + b).  Go to super: cmd + u ( Windows / Linux : ctrl + u).  Move between tabs: cmd + shift + [ (move left) or cmd + shift + ] (move right) ( W

Android Application Components Activities, Services, Broadcast Recievers, Content Providers - ABNHive

Application components are the essential building blocks of Android app development.  Each component is an entry point through which the system or a user can enter your app. There are 4 types of components in android Activities Services Broadcast receivers Content providers Let's dive into the deep.  Activities This is a component that represents a single screen with a user interface or simply an entry point for interacting with the user. Example, an email app might have one activity that shows a list of new emails. Activities work together to form a cohesive user experience in the app. For example, clicking a button on the first screen might replace that screen with another screen containing other widgets, a web page, a movie, or text information. Activities are typically created by subclassing (extending) the Android class Activity.  click here   to know more about Activity. Services This runs in the background to perform work for remote processes or

Linear Layout in Android - ABNHive

Linear Layout arranges other views either horizontally in a single column or vertically in a single row. It arranges its elements sequentially Attributes android: orientation —Used for arranging the controls in the container in horizontal or vertical order android:layout_width —Used for defining the width of a control android:layout_height —Used for defining the height of a control android:padding —Used for increasing the whitespace between the boundaries of the control and its actual content android:layout_weight —Used for shrinking or expanding the size of the control to consume the extra space relative to the other controls in the container android:gravity —Used for aligning content within a control android:layout_gravity —Used for aligning the control within the container Example <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_widt