{"id":10891,"date":"2022-09-25T08:49:54","date_gmt":"2022-09-25T03:19:54","guid":{"rendered":"http:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/"},"modified":"2022-09-25T08:49:54","modified_gmt":"2022-09-25T03:19:54","slug":"solved-thread-pool-in-android-calling-doinbackground-directly","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/","title":{"rendered":"[Solved] Thread pool in Android, calling doinbackground directly"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-57025152\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"57025152\" data-parentid=\"57023445\" data-score=\"1\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>The Developer Guide says:<\/p>\n<p>Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params&#8230;), onProgressUpdate(Progress&#8230;) manually.<\/p>\n<p>So it is indeed bad practice to call doInBackground(Params) manually.<\/p>\n<p>Here are some rules:<\/p>\n<p>The AsyncTask class must be loaded on the UI thread. This is done automatically as of Build.VERSION_CODES.JELLY_BEAN.<\/p>\n<p>The task instance must be created on the UI thread.<\/p>\n<p>execute(Params&#8230;) must be invoked on the UI thread.<\/p>\n<p>Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params&#8230;), onProgressUpdate(Progress&#8230;) manually.<\/p>\n<p>The task can be executed only once (an exception will be thrown if a second execution is attempted.)<\/p>\n<p>Unfortunately there is no clear documentation why you should not call any method manually but the main reason might be that if you call doInBackground() manually your code could get executed in you main thread instead of a background thread.<\/p>\n<p>&#8230;is it bad practice to do that?<\/p>\n<p>Answer: Yes it is!<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">0<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Thread pool in Android, calling doinbackground directly <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] The Developer Guide says: Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params&#8230;), onProgressUpdate(Progress&#8230;) manually. So it is indeed bad practice to call doInBackground(Params) manually. Here are some rules: The AsyncTask class must be loaded on the UI thread. This is done automatically as of Build.VERSION_CODES.JELLY_BEAN. The task instance must be created on the UI thread. execute(Params&#8230;) &#8230; <a title=\"[Solved] Thread pool in Android, calling doinbackground directly\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\" aria-label=\"More on [Solved] Thread pool in Android, calling doinbackground directly\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[452,884],"class_list":["post-10891","post","type-post","status-publish","format-standard","hentry","category-solved","tag-android","tag-multithreading"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Thread pool in Android, calling doinbackground directly - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Thread pool in Android, calling doinbackground directly - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] The Developer Guide says: Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params&#8230;), onProgressUpdate(Progress&#8230;) manually. So it is indeed bad practice to call doInBackground(Params) manually. Here are some rules: The AsyncTask class must be loaded on the UI thread. This is done automatically as of Build.VERSION_CODES.JELLY_BEAN. The task instance must be created on the UI thread. execute(Params&#8230;) ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-25T03:19:54+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Thread pool in Android, calling doinbackground directly\",\"datePublished\":\"2022-09-25T03:19:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\"},\"wordCount\":168,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"android\",\"multithreading\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\",\"name\":\"[Solved] Thread pool in Android, calling doinbackground directly - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-25T03:19:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Thread pool in Android, calling doinbackground directly\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Thread pool in Android, calling doinbackground directly - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Thread pool in Android, calling doinbackground directly - JassWeb","og_description":"[ad_1] The Developer Guide says: Do not call onPreExecute(), onPostExecute(Result), doInBackground(Params&#8230;), onProgressUpdate(Progress&#8230;) manually. So it is indeed bad practice to call doInBackground(Params) manually. Here are some rules: The AsyncTask class must be loaded on the UI thread. This is done automatically as of Build.VERSION_CODES.JELLY_BEAN. The task instance must be created on the UI thread. execute(Params&#8230;) ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/","og_site_name":"JassWeb","article_published_time":"2022-09-25T03:19:54+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Thread pool in Android, calling doinbackground directly","datePublished":"2022-09-25T03:19:54+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/"},"wordCount":168,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["android","multithreading"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/","url":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/","name":"[Solved] Thread pool in Android, calling doinbackground directly - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-25T03:19:54+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-thread-pool-in-android-calling-doinbackground-directly\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Thread pool in Android, calling doinbackground directly"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/10891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=10891"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/10891\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=10891"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=10891"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=10891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}