public abstract @interface MainThread implements Annotation
android.support.annotation.MainThread
Denotes that the annotated method should only be called on the main thread. If the annotated element is a class, then all methods in the class should be called on the main thread.
Example:
@MainThread public void deliverResult(D data) { ... }
Note: Ordinarily, an app's main thread is also the UI thread. However, under special circumstances, an app's main thread might not be its UI thread; for more information, see Thread annotations.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# MainThread\n\nSummary: [Inherited Methods](#inhmethods) \\| [\\[Expand All\\]](#) \n\nMainThread\n==========\n\n| This package is part of the Android [support library](/topic/libraries/support-library) which is no longer maintained. The support library has been superseded by [AndroidX](/jetpack/androidx) which is part of [Jetpack](/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider [migrating](/jetpack/androidx/migrate) existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library [class\n| mappings](/jetpack/androidx/migrate/class-mappings).\n\n\n`\npublic\n\n\nabstract\n@interface\nMainThread\n`\n\n\n`\n\n\nimplements\n\nAnnotation\n\n\n`\n\n|---------------------------------------|\n| android.support.annotation.MainThread |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nDenotes that the annotated method should only be called on the main thread.\nIf the annotated element is a class, then all methods in the class should be called\non the main thread.\n\n\nExample: \n\n\n @MainThread\n public void deliverResult(D data) { ... }\n \n**Note:** Ordinarily, an app's main thread is also the UI\nthread. However, under special circumstances, an app's main thread\nmight not be its UI thread; for more information, see\n[Thread\nannotations](/studio/write/annotations#thread-annotations). \n**See also:**\n\n- [UiThread](/reference/android/support/annotation/UiThread)\n\nSummary\n-------\n\n| ### Inherited methods |\n|-----------------------|---|\n| From interface ` java.lang.annotation.Annotation ` |-----------------------------------------|-------------------------| | ` abstract Class\u003c? extends Annotation\u003e` | ` annotationType() ` | | ` abstract boolean` | ` equals(Object arg0) ` | | ` abstract int` | ` hashCode() ` | | ` abstract String` | ` toString() ` | ||\n\n-\n\n Annotations\n -----------\n\n - [AnimatorRes](/reference/android/support/annotation/AnimatorRes)\n - [AnimRes](/reference/android/support/annotation/AnimRes)\n - [AnyRes](/reference/android/support/annotation/AnyRes)\n - [AnyThread](/reference/android/support/annotation/AnyThread)\n - [ArrayRes](/reference/android/support/annotation/ArrayRes)\n - [AttrRes](/reference/android/support/annotation/AttrRes)\n - [BinderThread](/reference/android/support/annotation/BinderThread)\n - [BoolRes](/reference/android/support/annotation/BoolRes)\n - [CallSuper](/reference/android/support/annotation/CallSuper)\n - [CheckResult](/reference/android/support/annotation/CheckResult)\n - [ColorInt](/reference/android/support/annotation/ColorInt)\n - [ColorLong](/reference/android/support/annotation/ColorLong)\n - [ColorRes](/reference/android/support/annotation/ColorRes)\n - [DimenRes](/reference/android/support/annotation/DimenRes)\n - [Dimension](/reference/android/support/annotation/Dimension)\n - [DrawableRes](/reference/android/support/annotation/DrawableRes)\n - [FloatRange](/reference/android/support/annotation/FloatRange)\n - [FontRes](/reference/android/support/annotation/FontRes)\n - [FractionRes](/reference/android/support/annotation/FractionRes)\n - [GuardedBy](/reference/android/support/annotation/GuardedBy)\n - [HalfFloat](/reference/android/support/annotation/HalfFloat)\n - [IdRes](/reference/android/support/annotation/IdRes)\n - [IntDef](/reference/android/support/annotation/IntDef)\n - [IntegerRes](/reference/android/support/annotation/IntegerRes)\n - [InterpolatorRes](/reference/android/support/annotation/InterpolatorRes)\n - [IntRange](/reference/android/support/annotation/IntRange)\n - [Keep](/reference/android/support/annotation/Keep)\n - [LayoutRes](/reference/android/support/annotation/LayoutRes)\n - [LongDef](/reference/android/support/annotation/LongDef)\n - [MainThread](/reference/android/support/annotation/MainThread)\n - [MenuRes](/reference/android/support/annotation/MenuRes)\n - [NavigationRes](/reference/android/support/annotation/NavigationRes)\n - [NonNull](/reference/android/support/annotation/NonNull)\n - [Nullable](/reference/android/support/annotation/Nullable)\n - [PluralsRes](/reference/android/support/annotation/PluralsRes)\n - [Px](/reference/android/support/annotation/Px)\n - [RawRes](/reference/android/support/annotation/RawRes)\n - [RequiresApi](/reference/android/support/annotation/RequiresApi)\n - [RequiresPermission](/reference/android/support/annotation/RequiresPermission)\n - [RequiresPermission.Read](/reference/android/support/annotation/RequiresPermission.Read)\n - [RequiresPermission.Write](/reference/android/support/annotation/RequiresPermission.Write)\n - [RestrictTo](/reference/android/support/annotation/RestrictTo)\n - [Size](/reference/android/support/annotation/Size)\n - [StringDef](/reference/android/support/annotation/StringDef)\n - [StringRes](/reference/android/support/annotation/StringRes)\n - [StyleableRes](/reference/android/support/annotation/StyleableRes)\n - [StyleRes](/reference/android/support/annotation/StyleRes)\n - [TransitionRes](/reference/android/support/annotation/TransitionRes)\n - [UiThread](/reference/android/support/annotation/UiThread)\n - [VisibleForTesting](/reference/android/support/annotation/VisibleForTesting)\n - [WorkerThread](/reference/android/support/annotation/WorkerThread)\n - [XmlRes](/reference/android/support/annotation/XmlRes)\n-\n\n Enums\n -----\n\n - [RestrictTo.Scope](/reference/android/support/annotation/RestrictTo.Scope)"]]