None of those are precisely the same, though they will all have the same net effect.
The difference between the first and the second is that if you happen to be on the main application thread when executing the code, the first one (runOnUiThread()
) will execute the Runnable
immediately. The second one (post()
) always puts the Runnable
at the end of the event queue, even if you are already on the main application thread.
The third one, assuming you create and execute an instance of BackgroundTask
, will waste a lot of time grabbing a thread out of the thread pool, to execute a default no-op doInBackground()
, before eventually doing what amounts to a post()
. This is by far the least efficient of the three. Use AsyncTask
if you actually have work to do in a background thread, not just for the use of onPostExecute()
.
Related Posts:
- How to display Toast in Android?
- findViewByID returns null
- sendUserActionEvent() is null
- Emulator: ERROR: x86 emulation currently requires hardware acceleration
- Emulator: ERROR: x86 emulation currently requires hardware acceleration
- How to use navigateUp to close the application
- “unable to locate adb” using Android Studio [duplicate]
- “unable to locate adb” using Android Studio [duplicate]
- Differences between arm64 and aarch64
- Install an apk file from command prompt?
- My users get “net::err_name_not_resolved”
- Error: No toolchains found in the NDK toolchains folder for ABI with prefix: llvm
- Solving “adb server version doesn’t match this client” error [duplicate]
- Can’t create handler inside thread that has not called Looper.prepare()
- Can’t create handler inside thread that has not called Looper.prepare()
- This adb server’s $ADB_VENDOR_KEYS is not set
- What are the possible reasons for NFC Service to become dead after some time?
- Simple Android RecyclerView example
- What is ‘Context’ on Android?
- android image button
- What causes signal ‘SIGILL’?
- adb server is out of date. killing
- Change project name on Android Studio
- Execution failed for task ‘:app:processDebugResources’ even with latest build tools
- Set adb vendor keys
- react-native: command not found
- How to use putExtra() and getExtra() for string data
- Android – setOnClickListener vs OnClickListener vs View.OnClickListener
- Is there an equivalent to iOS’s Keychain for user credentials on Android?
- How to: Install Plugin in Android Studio
- No matching client found for package name (Google Analytics) – multiple productFlavors & buildTypes
- What’s LazyList?
- No Network Security Config specified, using platform default – Android Log
- Why is Android Studio reporting “URI is not registered”?
- getBluetoothService called with no BluetoothManagerCallback
- Getting error “The package appears to be corrupt” while installing apk file
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
- Error inflating class fragment
- What is Dalvik and dalvik-cache?
- How to pause / sleep thread or process in Android?
- com.android.ide.common.process.ProcessException: Failed to execute aapt! What can I do?
- Sending an Intent to browser to open specific URL
- How to make a round button?
- Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat
- How to create listview onItemclicklistener
- Android Studio-No Module
- Android Device not recognized by adb
- First run of Android Studio. Unable to access Android SDK add-on list
- Java syntax explanation – getMenuInflater()
- What are the differences between LinearLayout, RelativeLayout, and AbsoluteLayout?
- Error checking if Bluetooth is enabled in Android (REQUEST_ENABLE_BT cannot be resolved to a variable)
- Android: adb: Permission Denied
- What is the difference between “px”, “dip”, “dp” and “sp”?
- Android Studio : Failed to set EGL_SWAP_BEHAVIOR on surface
- Fragment MyFragment not attached to Activity
- onSaveInstanceState () and onRestoreInstanceState ()
- Running Node.Js on Android
- emulator: incompatible HAX module version 3 requirs minimum version 4
- How do you change text to bold in Android?
- Getting android.content.res.Resources$NotFoundException: exception even when the resource is present in android
- Unsupported major.minor version 52.0 when rendering in Android Studioandroid android-studio rendering preview
- What is Sandboxed_process0 and why do i have so many instances of it listed in the memory usage for my app
- Android ADB doesn’t see device
- Android Facebook integration with invalid key hash
- Android dismiss keyboard
- How to decompile an android app from the google play store
- What exactly does fitsSystemWindows do?
- What can com.sec.android.app.launcher be used for?
- Android: How can I Convert String to Date?
- How to create custom button in Android using XML Styles
- Your content must have a ListView whose id attribute is ‘android.R.id.list’
- Android SDK path not specified
- Failed to connect to camera service
- the item you requested is not available for purchase
- How to create a file in Android?
- Service vs IntentService in the Android platform
- Closing Application with Exit button
- Can I underline text in an Android layout?
- This Activity already has an action bar supplied by the window decor
- getResources().getColor() is deprecated
- What’s the console.log() of java?
- Get JSON Data from URL Using Android?
- Android Drawing Separator/Divider Line in Layout?
- Re-enable “component tree” in Android Studio
- XML has empty body?
- “Gradle Version 2.10 is required.” Error
- Singleton in Android
- Android getResources().getDrawable() deprecated API 22
- How to hide popping up Google Play’s unlocked achievement programatically?
- Error during installing HAXM, VT-X not working
- Error: fix the version conflict (google-services plugin)
- User Operation is waiting for “Building Workspace”
- Android Studio – ADB Error – “…device unauthorized. Please check the confirmation dialog on your device.”
- Failed to find style ‘coordinatorLayoutStyle’ in current theme
- What is android:ems attribute in Edit Text? [duplicate]
- Android scale animation on view
- How to change spinner text size and text color?
- Android Device not recognized by adb
- Not able to access adb in OS X through Terminal, “command not found”
- How can I give access to WordPress site using an Android application ?