{"id":9477,"date":"2023-07-03T10:08:08","date_gmt":"2023-07-03T10:08:08","guid":{"rendered":"http:\/\/goldenmace.com\/blog\/?p=9477"},"modified":"2023-07-03T10:16:26","modified_gmt":"2023-07-03T10:16:26","slug":"avoiding-cold-starts-and-working-with-multiple-flavors","status":"publish","type":"post","link":"https:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/","title":{"rendered":"Avoiding cold starts And Working with Multiple Flavors"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"9477\" class=\"elementor elementor-9477\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-14aabe5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"14aabe5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9eb4cf5\" data-id=\"9eb4cf5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b99101a elementor-widget elementor-widget-heading\" data-id=\"b99101a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Cold starts<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-52a14ae elementor-widget elementor-widget-text-editor\" data-id=\"52a14ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tA cold start refers to an app\u2019s starting from scratch: the system\u2019s process has not, until this start, created the app\u2019s process. Cold starts happen in cases such as your app\u2019s being launched for the first time since the device booted, or since the system killed the app. This type of start presents the greatest challenge in terms of minimizing startup time, because the system and app have more work to do than in the other launch states.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2e7a47 elementor-widget elementor-widget-text-editor\" data-id=\"b2e7a47\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tWhy we should avoid using Splash Screens on Android, arguing that they hurt the user experience, increase the size of the application, etc.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e669210 elementor-widget elementor-widget-text-editor\" data-id=\"e669210\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe key is creating a custom theme that overrides\u00a0<strong>android:windowBackground<\/strong>, then replacing that custom theme with your standard theme before calling super.onCreate().\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-493bf4c elementor-widget elementor-widget-text-editor\" data-id=\"493bf4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAssuming you have a theme called AppTheme, your launcher theme would be:\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-ed0d0b8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ed0d0b8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2a24faa\" data-id=\"2a24faa\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4f4ffbe elementor-widget elementor-widget-heading\" data-id=\"4f4ffbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">themes.xml\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7e9513 elementor-widget elementor-widget-text-editor\" data-id=\"f7e9513\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>&lt;style name=\u201dAppTheme.ColdStart\u201d&gt;<\/p><p>&lt;item name=\u201dandroid:windowBackground\u201d&gt;@drawable\/splash_bg&lt;\/item&gt;<\/p><p>&lt;\/style&gt;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3580fb8 elementor-widget elementor-widget-text-editor\" data-id=\"3580fb8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tPlace \u201csplash_bg\u201d inside drawable folder:\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1479a7e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1479a7e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2aa38e7\" data-id=\"2aa38e7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-94e5e95 elementor-widget elementor-widget-heading\" data-id=\"94e5e95\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">splash_bg.xml<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40340ff elementor-widget elementor-widget-text-editor\" data-id=\"40340ff\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>&lt;layer-list<\/p><p>xmlns:android=\u201dhttp:\/\/schemas.android.com\/apk\/res\/android\u201d<\/p><p>android:opacity=\u201dopaque\u201d&gt;<\/p><p>&lt;!\u2013 The background color, preferably the same as your normal theme \u2013&gt;<\/p><p>&lt;item android:drawable=\u201d@android:color\/white\u201d\/&gt;<\/p><p>&lt;!\u2013 Your product logo \u2013 144dp color version of your app icon \u2013&gt;<\/p><p>&lt;item&gt;<\/p><p>&lt;bitmap<\/p><p>android:gravity=\u201dcenter\u201d<\/p><p>android:src=\u201d@drawable\/new_logo\u201d\/&gt;<\/p><p>&lt;\/item&gt;<\/p><p>&lt;\/layer-list&gt;<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7441d14 elementor-widget elementor-widget-text-editor\" data-id=\"7441d14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe easiest way to transition back to your normal theme is to call setTheme(R.style.AppTheme) before super.onCreate() and setContentView():\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-07a01ec elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"07a01ec\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ca6fae9\" data-id=\"ca6fae9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cece620 elementor-widget elementor-widget-heading\" data-id=\"cece620\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">MainActivity.java<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8afa391 elementor-widget elementor-widget-text-editor\" data-id=\"8afa391\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>public class MainActivity extends AppCompatActivity {<br \/>@Override<br \/>protected void onCreate(Bundle savedInstanceState) {<br \/>\/\/ Make sure this is before calling super.onCreate<br \/>setTheme(R.style. AppTheme);<br \/>super.onCreate(savedInstanceState);<br \/>\/\/ \u2026<br \/>}<br \/>}<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3e6f44f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3e6f44f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8dd4ec8\" data-id=\"8dd4ec8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b317c80 elementor-widget elementor-widget-heading\" data-id=\"b317c80\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Flavors<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2db1a02 elementor-widget elementor-widget-text-editor\" data-id=\"2db1a02\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tFlavor is a very powerful feature available in the Android gradle plug-in that allows us to manage different \u201cflavors\u201d of an application.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-846c158 elementor-widget elementor-widget-text-editor\" data-id=\"846c158\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIt\u2019s important to understand why and when you might need multiple flavors. As an app developer, you would like to release a given app using a new brand name, logo and\/or theme, along with some minor feature differences. Using this to maintain app very quickly.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f277aca elementor-widget elementor-widget-text-editor\" data-id=\"f277aca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThe other way to create separate projects for each version, which is far from ideal, and will lead to errors and projects not having the complete new changes and fetch issues.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-337d961 elementor-widget elementor-widget-text-editor\" data-id=\"337d961\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tUsing multi flavors developer can easy way to build and maintain different version of app.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0764133 elementor-widget elementor-widget-text-editor\" data-id=\"0764133\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tAnother very important concept regarding building android apps, called \u201cbuild types\u201d. The default build types are debug and release.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7560623 elementor-widget elementor-widget-text-editor\" data-id=\"7560623\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tIf you have create two flavors, called free and promo, and two build types called debug and release, the Build Variants will be:\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b19066 elementor-widget elementor-widget-text-editor\" data-id=\"5b19066\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li>freeDebug<\/li><li>freeRelease<\/li><li>promoDebug<\/li><li>promoRelease<\/li><li>paidDebug<\/li><li>paidRelease<\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da1804a elementor-widget elementor-widget-text-editor\" data-id=\"da1804a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tcheck out the Android Studio Build Variant\u00a0<a href=\"https:\/\/developer.android.com\/studio\/build\/build-variants.html\">more information.<\/a>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Cold starts A cold start refers to an app\u2019s starting from scratch: the system\u2019s process has not, until this start, created the app\u2019s process. Cold starts happen in cases such as your app\u2019s being launched for the first time since the device booted, or since the system killed the app. This type of start presents [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[67,80],"tags":[68,123],"class_list":["post-9477","post","type-post","status-publish","format-standard","hentry","category-android","category-web-development","tag-android","tag-cold-starts"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions\" \/>\n<meta property=\"og:description\" content=\"Cold starts A cold start refers to an app\u2019s starting from scratch: the system\u2019s process has not, until this start, created the app\u2019s process. Cold starts happen in cases such as your app\u2019s being launched for the first time since the device booted, or since the system killed the app. This type of start presents [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\" \/>\n<meta property=\"og:site_name\" content=\"Goldenmace IT Solutions\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-03T10:08:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-07-03T10:16:26+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/goldenmace.com\/blog\/#\/schema\/person\/812307b551c443c69c5d0cf347807553\"},\"headline\":\"Avoiding cold starts And Working with Multiple Flavors\",\"datePublished\":\"2023-07-03T10:08:08+00:00\",\"dateModified\":\"2023-07-03T10:16:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\"},\"wordCount\":471,\"publisher\":{\"@id\":\"https:\/\/goldenmace.com\/blog\/#organization\"},\"keywords\":[\"android\",\"Cold starts\"],\"articleSection\":[\"Android\",\"Web development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\",\"url\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\",\"name\":\"Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions\",\"isPartOf\":{\"@id\":\"https:\/\/goldenmace.com\/blog\/#website\"},\"datePublished\":\"2023-07-03T10:08:08+00:00\",\"dateModified\":\"2023-07-03T10:16:26+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/goldenmace.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Avoiding cold starts And Working with Multiple Flavors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/goldenmace.com\/blog\/#website\",\"url\":\"https:\/\/goldenmace.com\/blog\/\",\"name\":\"Goldenmace IT Solutions\",\"description\":\"Research driven tech studio\",\"publisher\":{\"@id\":\"https:\/\/goldenmace.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/goldenmace.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/goldenmace.com\/blog\/#organization\",\"name\":\"Goldenmace IT Solutions\",\"url\":\"https:\/\/goldenmace.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/goldenmace.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/goldenmace.com\/blog\/wp-content\/uploads\/2019\/07\/white-logo.png\",\"contentUrl\":\"https:\/\/goldenmace.com\/blog\/wp-content\/uploads\/2019\/07\/white-logo.png\",\"width\":1096,\"height\":229,\"caption\":\"Goldenmace IT Solutions\"},\"image\":{\"@id\":\"https:\/\/goldenmace.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/goldenmace.com\/blog\/#\/schema\/person\/812307b551c443c69c5d0cf347807553\",\"name\":\"admin\",\"url\":\"https:\/\/goldenmace.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions","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":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/","og_locale":"en_US","og_type":"article","og_title":"Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions","og_description":"Cold starts A cold start refers to an app\u2019s starting from scratch: the system\u2019s process has not, until this start, created the app\u2019s process. Cold starts happen in cases such as your app\u2019s being launched for the first time since the device booted, or since the system killed the app. This type of start presents [&hellip;]","og_url":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/","og_site_name":"Goldenmace IT Solutions","article_published_time":"2023-07-03T10:08:08+00:00","article_modified_time":"2023-07-03T10:16:26+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#article","isPartOf":{"@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/"},"author":{"name":"admin","@id":"https:\/\/goldenmace.com\/blog\/#\/schema\/person\/812307b551c443c69c5d0cf347807553"},"headline":"Avoiding cold starts And Working with Multiple Flavors","datePublished":"2023-07-03T10:08:08+00:00","dateModified":"2023-07-03T10:16:26+00:00","mainEntityOfPage":{"@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/"},"wordCount":471,"publisher":{"@id":"https:\/\/goldenmace.com\/blog\/#organization"},"keywords":["android","Cold starts"],"articleSection":["Android","Web development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/","url":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/","name":"Avoiding cold starts And Working with Multiple Flavors - Goldenmace IT Solutions","isPartOf":{"@id":"https:\/\/goldenmace.com\/blog\/#website"},"datePublished":"2023-07-03T10:08:08+00:00","dateModified":"2023-07-03T10:16:26+00:00","breadcrumb":{"@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/goldenmace.com\/blog\/avoiding-cold-starts-and-working-with-multiple-flavors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/goldenmace.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Avoiding cold starts And Working with Multiple Flavors"}]},{"@type":"WebSite","@id":"https:\/\/goldenmace.com\/blog\/#website","url":"https:\/\/goldenmace.com\/blog\/","name":"Goldenmace IT Solutions","description":"Research driven tech studio","publisher":{"@id":"https:\/\/goldenmace.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/goldenmace.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/goldenmace.com\/blog\/#organization","name":"Goldenmace IT Solutions","url":"https:\/\/goldenmace.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/goldenmace.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/goldenmace.com\/blog\/wp-content\/uploads\/2019\/07\/white-logo.png","contentUrl":"https:\/\/goldenmace.com\/blog\/wp-content\/uploads\/2019\/07\/white-logo.png","width":1096,"height":229,"caption":"Goldenmace IT Solutions"},"image":{"@id":"https:\/\/goldenmace.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/goldenmace.com\/blog\/#\/schema\/person\/812307b551c443c69c5d0cf347807553","name":"admin","url":"https:\/\/goldenmace.com\/blog\/author\/admin\/"}]}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"admin","author_link":"https:\/\/goldenmace.com\/blog\/author\/admin\/"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/goldenmace.com\/blog\/category\/android\/\" rel=\"category tag\">Android<\/a> <a href=\"https:\/\/goldenmace.com\/blog\/category\/web-development\/\" rel=\"category tag\">Web development<\/a>","rttpg_excerpt":"Cold starts A cold start refers to an app\u2019s starting from scratch: the system\u2019s process has not, until this start, created the app\u2019s process. Cold starts happen in cases such as your app\u2019s being launched for the first time since the device booted, or since the system killed the app. This type of start presents&hellip;","_links":{"self":[{"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/posts\/9477","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/comments?post=9477"}],"version-history":[{"count":4,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/posts\/9477\/revisions"}],"predecessor-version":[{"id":9481,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/posts\/9477\/revisions\/9481"}],"wp:attachment":[{"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/media?parent=9477"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/categories?post=9477"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/goldenmace.com\/blog\/wp-json\/wp\/v2\/tags?post=9477"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}